반응형
제 6장, 전송 계층 : 신뢰할 수 있는 데이터 전송하기
전송 계층 ?
목적지에 신뢰할 수 있는 데이터를 전달하기 위한 계층
- 오류 점검 기능
- 목적지 애플리케이션 식별 기능
오류가 발생하면, 데이터를 재전송하도록 요청하고,
받은 데이터를 어떤 애플리케이션으로 전송할지 식별한다.
신뢰성/정확성
- 데이터를 목적지에 문제없이 전달하는 것
- 신뢰성/정확성이 우선인 통신 방법 : 연결형 통신
정확한 데이터가 중요한 경우 사용
TCP(Transmission Control Protocol)
효율성
- 데이터를 빠르고 효율적으로 전달하는 것
- 효율성이 우선인 통신 방법 : 비연결형 통신
빠른 전송이 중요한 경우 사용 (ex. 영상 스트리밍)
UDP(User Datagram Protocol)
TCP(Transmission Control Protocol)
- 신뢰성과 정확성을 우선한다.
- TCP헤더가 붙은 데이터 : 세그먼트(Segment)
- TCP헤더 속 정보
- 출발지 포트번호(16bit)
- 목적지 포트번호(16bit)
- 일련번호(32bit)
- 확인 응답 번호(32bit)
- 헤더 길이(4bit)
- 예약 영역(6bit)
- 코드 비트(6bit)
- 윈도우 크기(16bit)
- 체크섬(16bit)
- 긴급 포인터(16bit)
- 옵션
연결(Connection)
- 데이터를 전송하려면, 연결(connection)이라는 가상의 독점 통신로를 확보해야 함.
- TCP헤더의 코드 비트(107~112번째 비트)
3-way 핸드셰이크
- 상대를 확인하고 악수하듯, 데이터가 확실하게 전송되었는지 확인하며 이뤄지는 통신 수단
- 연결 시
- 연결 종료 시
TCP 헤더 - 일련번호(Sequence Number)
- 송신 측에서 수신 측에 이 데이터가 몇 번째 데이터인지 알려주는 역할
TCP 헤더 - 확인 응답 번호(Acknowledgement Number)
- 수신 측이 몇 번째 데이터를 수신했는지 송신 측에 알려주는 역할
- 다음 번호의 데이터를 요청하는 데에도 사용된다.
- 재전송 제어 - 데이터가 손상되거나 유실된 경우, 확인 응답 번호를 사용하여 데이터를 재전송하도록 한다.
TCP 헤더 - 윈도우 크기(Window Size)
- 버퍼(Buffer)
- 효율을 높이기 위해 세그먼트를 연속해서 보내는데, 그때 받은 세그먼트를 일시적으로 보관하는 장소
- 버퍼 용량 이상으로 대량의 데이터를 받으면, 오버플로(overflow)가 발생한다.
- 오버플로를 막기 위해 버퍼의 한계 크기 정보를 담은 것
- 얼마나 많은 용량의 데이터를 저장해 둘 수 있는지
포트번호(Port Number)
- 데이터의 목적지가 어떤 프로그램인지 구분하는 역할
- 출발지 포트번호와 목적지 포트번호가 필요함.
- 0~1023 : 잘 알려진 포트(well-known ports)
- 1024 : 예약되어있으나 사용하지 않는 포트
- 1025 이상 : 랜덤 포트
- 웹브라우저는 임의의 포트가 자동으로 할당되므로, 클라이언트 측에서는 포트번호를 정해두지 않아도 된다.
UDP(User Datagram Protocol)
- 데이터를 효율적으로 빠르게 보내는 통신 방법
- 스트리밍 동영상 서비스와 같은 곳에서 사용
- UDP 헤더가 붙은 데이터 : UDP 데이터 그램
- UDP 헤더 내용
- 출발지 포트 번호(16bit)
- 목적지 포트 번호(16bit)
- 길이(16bit)
- 체크섬(16bit)
- 브로드캐스트(Broadcast) 가능
참고자료
모두의 네트워크 - 교보문고
10일 만에 배우는 네트워크 기초 | 즐거운 프로그래밍 경험 | 누구나 10일이면네트워크를 이해할 수 있다!준비 | 네트워크 기초 지식 익히기네트워크, 패킷, 비트, 바이트, 랜, 서버 등 네트워크 용
www.kyobobook.co.kr
반응형
'IT Basic > Network' 카테고리의 다른 글
모두의 네트워크 - 8장 네트워크의 전체 흐름 살펴보기 (0) | 2021.12.09 |
---|---|
모두의 네트워크 - 7장 응용 계층 : 애플리케이션에 데이터 전송하기 (0) | 2021.12.09 |
모두의 네트워크 - 5장 네트워크 계층 : 목적지에 데이터 전달하기 (0) | 2021.12.01 |
모두의 네트워크 - 4장 데이터 링크 계층 : 랜에서 데이터 전송하기 (0) | 2021.12.01 |
모두의 네트워크 - 3장 물리 계층 : 데이터를 전기 신호로 변환하기 (0) | 2021.12.01 |
댓글