반응형
TCP/IP 트랜스포트층
애플리케이션층과 네트워크층의 중개 역할
1) TCP
- '신뢰성' 중요시
- 송신하는 데이터를 확실히 상대에게 전달하고 싶을 때 (실패시 재전송)
2) UDP
- '속도' 중요시
- 송신하는 패킷이 작을 때나 데이터를 재전송할 필요가 없을 때 사용
<포트번호>
포트번호 : 애플리케이션 프로토콜마다 데이터의 출입구가 마련되어 있음
- 잘 알려진 포트 번호 : 0~1023 번 까지는 통신 서비스마다 미리 예약되어 있음
- 포트번호 : 0~65535
<TCP 프로토콜>
1) 커넥션형 통신 : 일 대 일 통신
- 통신 연결 : 수신측이 데이터를 받을 수 있는 상태인지를 확인한 후 통신을 개시
- 데이터를 정해진 크기로 분할하고, TCP 헤더를 붙여서 순서대로 송신(세그먼트)
- 데이터를 다 보낸후 통신 종료
2) 애플리케이션층에 전달
- TCP 헤더의 정보를 보고 데이터를 순서대로 맞춤
- TCP 헤더를 가지고 데이터를 다시 맞춤
- 애플리케이션층의 프로토콜에 전달
3) 6 비트의 컨트롤 플래그
- 통신 상대에게 통신 상태를 전하는 수단으로 사용되는 것
- 상대에게 전하고 싶은 항목 '1' 이외는 '0'
'1'일 경우 | |
URG | 세그먼트가 긴급한 데이터를 갖음 |
ACK | 통신 확인에 대해 알았다고 응답한 것(확인 응답) |
PSH | 세그먼트를 바로 애플리케이션층에 전달 |
RST | 통신을 강제적으로 해제 |
SYN | 통신 개시를 요청 |
FIN | 통신 종료를 요청 |
※ 1이 들어간 상태 = '플래그가 설정되었다' 라고 함
- 핸드셰이크(handshake) : 상대와 서로 확인해 가면서 주고받는 것
- 데이터량의 확인 : 통신 전 양쪽 모두 다룰 수 있는 데이터량을 확인
- 통신 해제시 TCP 헤더의 컨트롤 플래그를 사용
4) 주고받기의 흐름
시퀀스 번호 : TCP 헤더에 적혀있는 데이터의 순서를 나타내는 번호
- 송신측) TCP 헤더에 시퀀스 번호를 쓰고, 세그먼트를 보냄
- 수신측) 시퀀스 번호를 보고 순서대로 전달되고 있는지를 확인, 전달된 세그먼트의 다음 번호를 송신측에 알려줌
- 송신측) 무사히 전달되었다는 것을 확인하고, 다음 세그먼트를 보냄
- 수신측) 다음 세그먼트를 받고, 시퀀스 번호를 보고 순서대로 나열
세그먼트는 몇 개씩 모아서 보내는 것이 효율적
윈도 사이즈는 통신 도중에 변경o
5) 문제 발생 시의 처리
일정 시간을 기다려도 확인 응답이 없을 시 이유를 불문하고 송신측은 세그먼트를 재전송
- 세그먼트의 지연 및 분실 -> 송신측) 재전송
- 확인 응답의 지연 및 분실 -> 송신측) 재전송
- 데이터의 파손 -> 수신측) 해당 데이터를 파기 후 확인 응답은 보내지x -> 송신측) 재전송
※ 일정 횟수 이상을 재전송해도 확인 응답x 경우 -> 송신측이 강제적으로 통신을 해제
통신을 해제할 때 TCP 헤더의 컨트롤 플래그 'RST'를 1로 만듬
<UDP 프로토콜>
1) 넥션형 통신 : 사전 의논을 하지 않고 일방적으로 데이터를 보냄
- 송신측) 수신측이 받을 수 있는지 아닌지 조사x -> 그냥 보냄
- 송신측) 무슨 일이 있어도 재전송x
- 수신측) 받아도 확인 응답을 보내지x
- 수신측) 데이터가 깨져 있으면 파기함
2) 동시에 보내기
- 멀티캐스트(multicast) : 복수의 특정인에게 보내는 것
- 브로드캐스트(broad-cast) : 불특정 다수에게 보내는 것
3) UDP 가 하는일
- 데이터가 깨지지 않았는지 확인후 깨졌다면 파기함
- UDP 헤더를 제거하고 지정된 애플리케이션 프로토콜에게 전달함
<netstat 명령>
netstat = 통신에 관한 정보를 표시하는 명령
ex) Windows의 명령 프롬프트에서
참고문서 : TCP IP 그림책
반응형
'CS > 네트워크' 카테고리의 다른 글
[TCP/IP 그림책] 데이터링크층과 물리층(6장) (1) | 2019.05.26 |
---|---|
[TCP/IP 그림책] 네트워크층(5장) (2) | 2019.05.18 |
[TCP/IP 그림책] 애플리케이션층(3장) (0) | 2019.05.18 |
[TCP/IP 그림책] 통신 서비스와 프로토콜(2장) (2) | 2019.05.10 |
[TCP/IP 그림책] 개요(1장) (0) | 2019.05.10 |
댓글