[Network] Layer

­Valentine·2022년 1월 6일
0

CS

목록 보기
14/23

CS 공부 11일차. 오늘부터는 network에 대해 알아보았습니다. 사진은 NASA가 올린 멋들어진 지구 사진!

Network Layer

  • OSI 7계층 : ISO에서 지정한 통신 계층구조를 일반화하여 나타낸 프로토콜입니다. 계층별로 개발할 수 있는 장점이 있습니다.

    • Physical Layer(L1) : 데이터를 실제 전송하는 계층.
    • DataLink Layer(L2) : MAC주소를 헤더에 붙여서 다음 라우터까지(1-hop delivery) 전송하는 계층. PDU는 frame.
    • Network Layer(L3) : IP 주소를 헤더에 붙여 MAC 주소와 IP주소를 매칭하는 계층. PDU는 packet.
    • Transport Layer(L4) : TCP나 UDP 통신을 담당하는 계층. PDU는 segment.
    • Session Layer(L5) : TCP/IP 세션을 관리하는 계층.
    • Presentation Layer(L6) : 인코딩이나 암호화 등을 담당하는 계층.
    • Application layer(L7) : 응용 프로그램 계층. PDU는 message.
  • TCP/IP 5계층 : OSI 7계층에서 5,6 계층을 제외한 프로토콜입니다.

  • TCP vs UDP : TCP는 Transmission Control Protocol이고 UDP는 User Datagram Protocol입니다. TCP는 3-way hand shake를 통해서 연결을 맺고 각각 하나의 소켓으로 데이터를 주고받은 다음 4-way hand shake를 통해 연결을 끊습니다. 오류제어, 흐름제어, 혼잡제어 기능이 있기 때문에 data-loss에 민감한 application에 적합합니다. UDP는 멀티캐스트나 브로드캐스트가 가능하고 오류를 detect하지만 correct해주지는 않기 때문에 빠르고 delay에 민감한 application에 적합합니다.

  • 유니캐스트, 멀티캐스트, 브로드캐스트 : UniCast는 1:1 통신이고 MultiCast는 1:N 통신이며 BroadCast는 연결되어있는 모든 대상과 통신하는 것입니다.

  • 흐름제어 : receiver의 buffer가 overflow되지 않도록 제어

  • 혼잡제어 : 네트워크 망이 너무 붐벼서 delay가 발생하지 않도록 제어

  • 오류제어 : receiver가 수신한 메시지가 송신된 메시지와 일치하는지 확인하여 재요청하거나 수정하는 것.

  • 3-way hand shake : client가 server에 syn를 보내서 연결 시작을 알리면 server가 알았다는 표시로 ACK과 연결을 하겠다는 표시로 SYN를 같이 보내고 이를 Client가 받아서 다시 ACK을 Server에 보내면 연결이 시작됩니다.

  • 4-way hand shake : client가 server에 FIN을 보내서 연결 종료를 알리면 server가 알았다고 ACK를 보내고 만약 더 보낼 내용이 있다면 같이 전송합니다. server도 전송이 끝나면 FIN을 보내고 이를 받은 client가 ACK을 보내면 연결이 종료됩니다.

  • 웹브라우저에서 서버로 요청했을 때 흐름 : URL을 분석하여 DNS서버에 IP요청 → IP를 받아서 PDU에 헤더로 붙이기 → MAC주소 붙이기 → gateway router로 전송 → core network 지나가기 → server gateway에서 cache server 유무 확인 → 서버 접속하여 응답 받기 → 같은 길을 되돌아 오기 → 랜더링

  • PDU : Protocol Data Unit으로 송신측에서 각 계층에 헤더를 붙여서 Capsulation해 전송하고, 수신측에서 Decapsulation하여 메시지를 확인합니다.

  • MTU : Maximus Transmission Unit으로 PDU의 최대길이 입니다.

profile
천체관측이 취미

0개의 댓글