전송 데이터가 올바르게 도착했음을 회신
데이터를 계속 보내면 순서가 밀리는 것을 막기 위해 ACK 응답이오면 다음 패킷을 전송
전송 데이터가 깨져서 도착했음을 회신
프레임 변형 오류를 해결
데이터의 중복 수신을 막음
프레임 분실 오류 해결
송신 호스트는 정보 프레임을 순서 번호에 따라 순차적으로 전송
송신 호스트가 관리하는 송신 윈도우는 전송은 되었지만 ACK가 회신되지 않은 프레임을 보관
등장 배경 : 하나를 보내고, ACK를 기다리고 또 하나를 보내면 낭비가 심하기 때문에 여러개를 보내고 한번에 처리하기 위해
ACK를 받지 않고 연속으로 전송할 수 있는 프레임의 최대 개수
ACK 프레임을 받지 않고 여러 프레임을 연속으로 전송
오류 가능성이 적은 환경에서 효율적
오류가 발생한 프레임 이후의 모든 프레임을 재전송
오류가 발생한 프레임만 재전송
정보 프레임이 응답 프레임의 기능까지 수행
응답 프레임의 전송 회수가 줄어 전송 효율이 좋아짐
데이터를 교환하기 전에 서로 TCP 연결을 확립해야 함
메시지를 성공적으로 수신했거나 오류를 발생했다는 것을 알림
TCP가 데이터를 전달하거나 받을 때, 상호간에 사용하는 데이터의 이동 경로
상위 계층 프로토콜과 하위 계층 프로토콜은 같은 포트를 사용해야 함
플래그 | 설명 |
---|---|
URG | Urgent, 긴급 처리 데이터가 있음 |
ACK | Acknowledgment, 응답 확인 번호 사용 |
PSH | Push, 데이터를 보낼 때 발생 |
RST | Reset, 정상적 종료가 아니고 강제 종료 시, 연결 재설정 |
SYN | Synchronize, 연결을 초기화 하기 위해 순서 번호 동기화 |
FIN | Finish, 데이터 송신 종료 |
연결 설정(3-way Handshaking)
1. 클라이언트에서 SYN과 순서 번호를 서버로 보냄. 이때 클라이언트는 SYN_SENT 상태, 서버는 SYN_RECEIVED 상태
2. 서버는 ACK응답을 보내며, 피기배킹으로 SYN를 보냄.
3. 클라이언트는 ACK응답을 보내며, 클라이언트와 서버는 ESTABLISHED 상태
연결 설정 완료 후
1. 송신 측에서 PSH와 ACK를 보냄(현재 연결이 정상적으로 진행 중, 연결유지를 위해)
2. 수신 측에서는 ACK에 신호번호+1+수신 데이터 바이트 크기를 더해서 보냄
(클라이언트에서 종료 요청을 보내는 경우, 서버에서 요청을 보내는 경우 반대로 진행)
1.클라이언트에서 FIN요청을 보냄. 이 때, 클라이언트는 FIN_WAIT상태 서버는 CLOSE_WAIT 상태
2. 서버는 FIN요청과 클라이언트에서 보낸 FIN요청에 대한 ACK응답을 보냄. 이 때, 서버는 LAST_ACK 상태
3. 클라이언트는 서버에서 보낸 FIN요청에 ACK응답을 보냄 이 때, 클라이언트는 TIME_WAIT 상태 진입 후 일정 시간 후 CLOSED, 서버는 CLOSED
데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지
송신 측 컴퓨터는 윈도우 크기에 따라 패킷을 전송하고, 수신측 컴퓨터에서 수신 확인 ACK를 수신하면 ACK에서 요청한 패킷 위치로 송신 윈도우를 오른쪽으로 옮김
비연결 지향 프로토콜
패킷이나 흐름 제어, 단편화 및 전송 보장 등의 기능 등을 제공하지 않음 -> DF가 항상 활성화(파현화가 되지 않기 때문)
주소 결정 프로토콜(Address Resolution Protocol)
Hardware Type(16bit) : Hardware 길이 필드 설정 제어
Operation(Opcode)(16bit)
ARP 요청 : 0001
ARP 응답 : 0002
RARP 요청 : 0003
RARP 응답 : 0004
인터넷 제어 메세지 프로토콜
IP 패킷을 처리할 때 발생되는 문제를 알리거나, 진단 등과 같이 IP 게층에서 필요한 기타 기능들을 수행하기위해 사용되는 프로토콜
목적지도달불가 : Type 3
Network Unreachable : Code 0
Host Unreachable : Code 1
Protocol Unreachable : Code 2
Port Unreachable : Code 3
발신 억제 (Source Quench) : Type 4 표준에서 제외됨
재지정 (Redirect) : Type 5
시간 초과 (Time Exceeded) : Type 11
패킷이 루프를 돌거나 , 과밀 발생 , 타이머 값이 너무 낮게 설정된 경우
매개변수 문제 (Parameter Problem) : Type 12
충돌되는 컴퓨터를 찾아주는 명령어
IP 충돌 메시지가 표시되면 컴퓨터를 종료한 후 다른 컴퓨터에서 nbtstat 명령어로 중복된 IP 주소를 사용하는 컴픁 이름을 확인
nbtstat -A 중복된 IP 주소
시스템에서 TCP 전송 프로토콜의 상태를 표시
특정 포트를 찾아 표시
특정 전송 프로토콜의 상태를 표시
(소켓 상태 표시)
로컬 호스트에 있는 소켓의 상태를 확인할 수 있음
(모든 연결과 수신 대기 포트 표시)
백도어 해킹 프로그램 등이 설치되어 정보를 빼내지는 않는지 확인할 수 있다 .an 옵션은 주소와 포트 번호를 숫자 형식으로 표시
(이더넷 통계 표시)
로컬 호스트의 라우팅 테이블을 표시
라우팅 테이블은 호스트의 알려진 모든 경로의 상태를 확인
s(프로토콜별 통계 표시)
-s 옵션은 IP, ICMP, TCP, UDP 프로토콜에 대한 프로토콜 통계를 표시 통계를 이용하여 프로토콜에 문제가 있는 영역을 확인가능
(내 컴퓨터의 송수신 패킷 표시)
(특정 주소 유형의 패킷에 대한 전송 상태 표시)
특정 주소 그룹의 패킷 전송과 관련된 통계를 확인가능
원격의 호스트 컴퓨터 , 서버 장비 , 네트워크 장비와 통신이 잘 되고 있는지 확인하는 명령어
Ping 을 실행하면 ICMP 프로토콜에서 지정한 호스트 컴퓨터로 데이터그램을 전송하여 응답을 요청
(에코 요청 수만큼 통신 테스트)
-n count 옵션은 보낼 에코 요청 수
-t 옵션은 중지할 때까지 지정한 호스트에 ping 실행 중지하려면 Ctrl +C 입력
(전송할 버퍼 크기로 통신 테스트)
서버 장비나 방화벽 장비에 LAN 카드를 여러 개 설치할 때 route 명령을 이용하여 패킷이 전달되는 경로를 확인하거나 지정할 수 있다 . route print 명령어로 라우팅 테이블을 확인 가능
최종 수신지 컴퓨터에 도달하기까지 중간에 거치는 라우터 여러개의 경로 및 응답속도를 표시
갑자기 특정 웹사이트와 접속이 느려질 때 tracert 명령어로 내부 네트워크나 회선 구간 등을 확인가능. 또한 전용회선 관리나 장애 복구에도많이 사용
ARP(주소 확인 프로토콜)에서 사용하는 인터넷 (IP) 주소에서 물리적 주소로 변환된 값을 확인하고 , 수정(관리자 권한에서 가능)가능
-d 옵션 사용 시, 관리자 모드로 실행해야 함
잘 보고 갑니다