목적 : 매일 글쓰기 습관을 만들고 기록과 공유를 통해서 기억을 상기시키고
생각 안날 때 바로바로 찾을 수 있도록 하기 위해서
요약 출처 : 모두의 네트워크 - 길벗
캡슐화 : 계층별로 데이터를 전달할 때 헤더를 붙이는 것
역캡슐화 : 계층별로 데이터를 전달할 때 헤더를 제거하는 것
TCP 헤더 : TCP로 전송할 때 붙이는 헤더
세그먼트 : TCP 헤더가 붙은 데이터
TCP 헤더
출발지 포트 번호(16비트) | 목적지 포트 번호(16) | ||||
일련번호(32) | |||||
확인 응답 번호(32) | |||||
헤더길이(4) | 예약영역(6) | 코드비트(6) | 윈도우 크기(16) | ||
체크 섬(16) | 긴급 포인터(16) | ||||
- | - | 옵 | 션 | - |
데이터를 전송하려면
연결(connection = 가상의 독점 통신로를 확보) 확립 해야함.
코드비트
107번째 비트 부터 112번쨰 비트까지 코트비트(6비트)로 연결의 제어 정보가 기록되는 곳
코드비트 의 초깃값 0 => 활성화 시 1
각 1비트
URG 0
ACK 0
PSH 0
RST 0
SYN 0
FIN 0
3-WAY HANDSHAKE (연결 수립)
TCP 통신에서 사용되는 연결을 위해 데이터 전송 전 세 단계로 패킷 교환을 하면서 확인하는 과정
연결 확립하려면 SYN (연결 요청) 과 ACK (확인 응답) 가 필요
A 컴퓨터💻-> B 컴퓨터💻
1. 연결 확립 요청 (SYN)
A💻<-B💻
2. 연결 확립 응답(ACK) + 연결 확립 요청(SYN)
A💻->B💻
3. 연결 확립 응답(ACK)
4-WAY HANDSHAKE (연결 종료)
데이터 전송 후 연결을 끊기 위한 요청
연결 종료하려면 FIN (연결 종료 요청) 과 ACK (확인 응답) 가 필요
A 컴퓨터💻-> B 컴퓨터💻
1. 연결 종료 요청 (FIN)
A💻<-B💻
2. 연결 종료 응답(ACK)
3. 연결 종료 요청(FIN)
A💻->B💻
4. 연결 종료 응답(ACK)
각 단계에서 쓰여지는 코드 비트(SYN,ACK,FIN)만 활성화 되어 1이 됨.
일련번호(Sequence number) 와 확인응답번호(acknowledgement number)
출발지 포트 번호(16비트) | 목적지 포트 번호(16) | ||||
일련번호(32) | |||||
확인 응답 번호(32) | |||||
헤더길이(4) | 예약영역(6) | 코드비트(6) | 윈도우 크기(16) | ||
체크 섬(16) | 긴급 포인터(16) | ||||
- | - | 옵 | 션 | - |
3 WAY HAND SHAKE 가 끝나고 실제 데이터를 보내거나 상대방이 받을 때
시퀀스 넘버와 확인응답 넘버를 사용
시퀀스 넘버는 송신 측에서 수신 측에 데이터가 몇 번째 데이터인지 알려주는 데 사용
Sequence : 일련된 연속된 사건들, 순서
확인 응답 넘버는 수신 측이 몇 번째 데이터를 수신했는지 알려주고 다음 번호의 데이터를 요청하는 데 사용
데이터 전송완료까지 반복하며 사용되고 이 두 번호를 통해 데이터가 손상,유실된 경우 재전송하게 됨. (재전송제어)
첫번째 시퀀스 넘버와 첫번째 확인응답 넘버는 전송 전 3-way handshke 연결 수립 시 결정됨
'''
시퀀스 넘버의 데이터를 보냅니다. 확인응답 넘버의 데이터를 보내주세요.
를 데이터 전송 완료까지 반복한다고 이해했음.
'''
'독서,검색 > 모두의 네트워크' 카테고리의 다른 글
230119 OSI 모델에서 전체적인 데이터 처리 과정 (0) | 2023.01.19 |
---|---|
230118 HTTP/DNS/SMTP/POP3 (0) | 2023.01.18 |
230109 윈도우 크기와 포트번호의 기능 (0) | 2023.01.09 |
221231 라우터의 기능 (0) | 2022.12.31 |
221229 네트워크 계층과 IP주소 (0) | 2022.12.29 |