본문 바로가기
IT 놀이터/General

[Network] TCP/IP 프로토콜의 전반적 내용

by 돼지왕 왕돼지 2014. 4. 22.
반응형


 [Network] TCP/IP 프로토콜의 전반적 내용

 


출처 : http://luuzun.blog.me/50189311654


네트워크 인터페이스 계층 ( Data Link + Physical )


내부 PC 끼리 통신을 하여 데이터를 주고 받는 근거리 통신.

가장 많이 사용하는 방식은 버스형 포폴로지 방식의 Ethernet.

MAC Address 를 이용해 패킷을 주고 받는다.

CSMA/CD 제어방식을 따른다.


버스 포폴로지의 양쪽에는 잘못된 패킷을 제거해주는 터미네이터를 설치.


구조가 간단하여 설치가 쉽고, 특정한 호스트가 문제를 일으켜도 다른 호스트에게 영향을 주지 않는 장점.

데이터 충돌이 발생하며, 케이블에 문제가 발생하면 모든 호스트가 네트워크를 사용할 수 없다.


대부분의 네트워크망은 버스형 포폴로지 방식 사용.


[Network] TCP/IP 프로토콜의 전반적 내용







CSMA / CD 방식


Carrier Sense Multiple Access / Collision Detection. 의 약자


Carrier Sense : 다른 호스트가 회선을 사용 중인지 검사

Multiple Access : 회선이 사용할 수 있는 상태가 되면 모든 호스트들은 동시에 패킷 전송

Collision Detection : 충돌이 발생하면 Jam 신호를 보내 충돌 사실을 모든 호스트에 통보.


잼 신호를 받은 호스트들은 임의의 시간동안 대기 후 패킷을 재전송한다.




Ethernet


현재 가장 널리 사용되는 LAN 연결 방식 표준.

Ethernet 에서 전송하는 Frame 은 아래와 같이 구성



Premable : 프레임의 시작과 끝을 표시한다.

Destination Address : 프레임이 전송되어야 할 목적지 Mac Address

Source Address : 프레임을 발송하는 호스트의 Mac Address

EtherType : 프레임이 연계된 프로토콜 타입 정보

Data : 상위 계층으로부터 념겨받은 실제 데이트. 크기가 46~1500byte 로 제한. 46byte 보다 작으면 쓰레기값을 추가하여 전송하고, 1500byte 보다 크면 나누어 전송한다.

FCS : 프레임의 오류를 체크하기 위한 정보




IP 주소의 구성


IPv4 는 32bit 를 사용하여 43억개의 주소 할당 가능.

IPv6 는 128bit 를 사용하여 46억의 4제곱, 거의 무한대의 주소 할당 가능. 


IP 주소는 네트워크 주소( Net ID ) 와 호스트 주소 ( Host ID ) 로 나누어진다.

네트워크 주소는 특정 단체를 표시하고, 호스트 주소는 단체에 속하는 호스트의 주소를 표시한다.


A Class : 0~127, 국가/대규모 통신망

B Class : 128~191, 학교/중대규모 통신망

C Class : 192~233, 소규모 회사 / ISP 업체

D class : 224~239, 멀티미디어 방송할 때 자동 부여

E Class : 240~255, 테스트 위한 주소 대역





사설 IP


사설 IP 는 라우터에서 임의로 할당하는 주소로 내부통신 ( Ethernet ) 에서만 사용 가능하다.

이런 이유로 라우터나 공유기를 사용하면 외부 해킹공격으로부터 조금 더 안전하다.


A Class : 10.0.0.0 ~ 10.255.255.255

B Class : 172.16.0.0 ~ 172.31.255.255

C Class : 192.168.0.0 ~ 192.168.255.255




Subnet Mask ( 서브넷 마스크 )


네트워크 주소와 호스트 주소를 구분짓기 위해 사용.

1 사이에 0은 올 수 없다.

서브넷 마스크를 사용하면 사설 IP 대역을 한번 더 나눌 수 있다.




NAT


Network Address Translation 의 약자로

라우터가 임의의 사설 IP 를 생성하였을 때 라우터에 연결된 단말들을 위한 주소로 translate 하는 것을 말한다.




ARP / RARP


IP 주소를 MAC 주소로 변환하는 것을 ARP 라고 한다.

MAC 주소를 IP 주소로 변환하는 것은 RARP 라고 한다.




ICMP


Internet Control Message Protocol 의 약자.

송신하는 대상의 상태를 진단할 수 있는 명령에 관련된 프로토콜.

ping 이 대표적




Netstat


netstat 명령을 통해 다음 정보들을 알 수 있다.


네트워크 연결 상태 ( 연결된 IP 주소, 사용중인 서비스 포트 번호 )

라우팅 테이블 확인

프로토콜별 서비스된 통계

열려져 있는 포트 및 서비스중인 프로세스들의 상태정보, pid


상태정보 ( state 값 )



netstat 옵션들..


netstat -nr : 라우팅 테이블 정보 확인

netstat -s : 각 프로토콜들에 대한 통계정보

netstat -an : 현재 LISTEN 된 소켓정보와 LISTEN 되지 않은 소켓정보 모두 보여줌.

netstat -atp : 현재 LISTEN 된 소켓정보와 LISTEN 되지 않은 소켓정보를 PID 와 함께 보여줌

netstat -an | grep SYN_RECV : SYN Flooding 공격여부 가능성 점검







TCP 연결 : 3 Way Handshaking


서버에 SYN 을 통해 연결을 요청하면, 서버가 이에 대한 답을 SYN-ACK 으로 주고, 서버에 연결하는 ACK 을 보내는 3단계를 말한다.


ACK : Acknowledgement 약자로, 확인 메세지를 말한다. SYN 이후 전송되는 모든 패킷은 이 플래그가 설정되어야 한다.

SYN : 동기화 시퀀스 번호를 함께 보낸다. 양쪽이 보낸 최초의 패킷에만 설정되어 있다. 

FIN : 남은 송신측 데이터가 없음을 의마한다.





TCP 연결 해제





자주 사용하는 포트 ( Well Known Port )








TCP 패킷 구조







반응형

댓글