반응형 전체 글81 Data Link layer data link layer의 핵심 프로토콜은 ethernet protocol종류가 많다802로 시작하면 대부분 ethernet protocol이 레이어에서는 NL에서 받은 datagram을 헤더랑 같이 encapsulation해서 frame을 만들고 이걸 피지컬 링크로 내보낸다.위 과정이 데이터 링크 레이어의 목적(내보내는 것은 라우팅이 아닌 내 다음 노드로 가게 하는 것)frame에 들어가는 헤더에는 다음 노드의 MAC 주소와 CRC정보가 들어있다.MAC주소와 CRC정보는 뒤에서 설명한다.이 정보가 전송될 때 wired라면 에러가 거~~의 없다하지만 wireless로 전송되면 에러가 많이 발생한다error가 있으면 새롭게 다시 받는다 (correction은 너무 힘들다)Data Link layer의 .. 2025. 7. 4. Parallel Programming 지금까지는 코어 1개로 스레드를 돌렸는데, 이제는 멀티 코어로 스레드를 돌리자 ⇒ 찐 병렬처리Typical Multicore Processorexamplen개의 작업을 t개의 스레드에 분배seil(n/t)씩, if n = 80, t = 8 ⇒ 스레드 당 10개 씩psum-mutex근데 스레드 내부에서 저렇게 for 문으로 저딴 식으로 하면 저기 뮤텍스 구간은 한 스레드씩 실행되니까 멀티코어로 스레드 돌리는게 하나도 의미가 없음psum-array전역변수 배열을 두고, main에서 한 번에 summationpsum-localpsum[myid]에 계속 접근하는 것보다 1번만 접근하는게 더 좋음그래서 스레드의 지역변수로 sum 두고 여기에 다 더한 뒤에 마지막에 1번만 쓴다.PerformanceSpeedUp: .. 2025. 7. 2. Concurrent Programming 서버가 클라이언트 하나랑만 놀면 다른 애들은 처리 못함 ⇒ 병렬적으로 다른 애들도 처리를 해줘야겠다.서버가 연결을 1개만 했다고 가정한다.client1이랑은 잘 놀고 있음client2가 open_clientfd로 연결 요청을 보냄(connect)서버의 커널은 이 연결 요청에 대한 소켓 구조체를 만들고 리스닝 큐에 등록함 (아직 accept X, 서버는 client1이랑 노는 중임)client2는 accept 됐는지 안됐는지는 모름 ⇒ 걍 write 해버림서버의 커널은 이 write을 아까 연결 요청 때 만들었던 client2에 대한 소켓 구조체에 할당된 수신버퍼에 쌓아 둠서버의 커널은 client2에게 잘 받았다는 뜻으로 ACK을 리턴함client2는 다음 라인인 rio_readloneb에서 STUCK .. 2025. 7. 2. Network programming IP addressip 주소는 항상 메모리에 network byte order로 저장됨네트워크 통신시에는 항상 network byte order 를 Big-endian byte order으로 맞춤. (약속)Big-endian byte order만약 IP 주소가 0x12345678big-endian : 12 34 56 78little-endian: 87 65 43 21이런식으로 메모리에 저장됨.컴퓨터마다 이걸 저장하는 방식은 다르지만 네트워크는 항상 big-endian으로 보냄이걸 운영체제는 알고 있고 그냥 함수만 불러서 big이든 little이든 넣어주면 무조건 big-endian이 나옴(보낼 때: htonl, htons 호스트 투 네트워크 롱 or 숏)받을 때도 걍 함수 가져다가 쓰면 됨(받을 때: n.. 2025. 6. 11. Network layer Network layerTrnasport layer에서 받은 segment를 IP 헤더를 추가해서 datagram으로 만듦만든 다음에 내보낸다.받는 쪽은 IP 헤더 벗기고 트랜스포트 레이어에 전달함.모든 호스트와 라우터는 네트워크 레이어를 가지고 있다.라우터에서는 IP 헤더 정보를 읽고 다음 목적지 라우터를 결정함 (포워딩)네트워크 레이어의 두 핵심 기능은 포워딩과 라우팅포워딩라우팅data plane포워딩 담당인풋의 헤더 보고 아웃풋 링크를 결정함.실시간으로 포워딩 테이블 보고 어느 포트로 내보낼 지 결정control plane라우팅 담당네트워크 전체 보고 데이터 그램이 어디 어디 라우터를 거쳐서 갈지 결정함.전통적 라우팅각 라우터가 자기 라우팅 테이블을 계산SDN(software-defined netw.. 2025. 4. 25. Transport layer Transport-layer services트랜스포트 레이어는 서로 다른 호스트 간에 수 많은 멀티 홉 거치는게 아니라 로지컬하게 다이렉트로 연결된거 같이 느끼도록 하는 서비스를 제공함.(블랙박스로 보면)AL의 데이터 단위를 메세지라고 함.메세지는 AL 에서 생성된 데이터의 페이로드임.TL로 오면 이걸 잘게 작작작 쪼갬.AL에서 온 데이터는 큰 덩어리임.(일정한 크기로 잘라짐)잘라지면서 여기에 헤더 파일이 붙음.이 헤더 파일에는 포트 정보 같은데 들어감.잘게 쪼개진 데이터 단위를 세그맨트라고함이 세그먼트가 NL로 또 내려감.그러면 여기에도 헤더 파일이 붙는데, 여기에는 아이피 정보가 들어감.그래서 만들어진 새로운 정보 단위를 데이터 그램이라고 함정보가 destination까지 가면 정보가 역으로 올라감 .. 2025. 4. 25. 이전 1 2 3 4 ··· 14 다음 반응형