4-1/인터넷프로토콜 7

[c++]소켓프로그래밍_visualstudio(2)[코드]

이번 포스팅에서는 소켓프로그래밍의 코드부터 직접 실행하는 것까지 다룰 예정이다. 먼저 앞선 포스팅에서 소켓프로그래밍을 위한 환경설정을 다루었다. https://what-am-i.tistory.com/222 [c++]소켓프로그래밍_visualstudio(1)[환경설정] 소켓이란 애플리케이션 계층과 전송계층을 연결해주는 인터페이스라고 생각하면 된다. 이를 코드를 이용해 직접 구현해보고 실행하여 결과를 확인해보자 2개로 글을 나누었다. 코드 부분의 글 what-am-i.tistory.com 여기에서 이어서 진행할것이다. server의 코드 #include #include #include #define SERVERPORT 9000 #define BUFSIZE 512 int main(int argc, char* ..

[c++]소켓프로그래밍_visualstudio(1)[환경설정]

소켓이란 애플리케이션 계층과 전송계층을 연결해주는 application 프로그래밍 인터페이스이다. 이를 코드를 이용해 직접 구현해보고 실행하여 결과를 확인해보자 2개로 글을 나누었다. 코드 부분의 글은 여기로 https://what-am-i.tistory.com/223 [c++]소켓프로그래밍_visualstudio(2)[코드] 이번 포스팅에서는 소켓프로그래밍의 코드부터 직접 실행하는 것까지 다룰 예정이다. 먼저 앞선 포스팅에서 소켓프로그래밍을 위한 환경설정을 다루었다. https://what-am-i.tistory.com/222 [c++]소켓프 what-am-i.tistory.com 먼저 프로젝트를 생성한다. 빈프로젝트가 아닌 window 데스크톱 마법사로 프로젝트를 생성한다. 프로젝트 이름을 적당히 만..

[2주차정리]IP와 IP패킷헤더

IP protocol 는? connectionless : 연결설정없이 IP packet을 보냄 unreliable : 안전한 통신을 지원하지않음 그저 best effort 네트워크의 노드를 고유하게 지정하기 위해 IP 주소 이용 IP packet 헤더 기본헤더 = 20byte 옵션 : 1개 이상 가능 데이터 4byte가 한줄이다. 버전, 헤더길이 , TOS, 전체길이 identification, 플래그, 플래그먼트 오프셋 TTL ,프로토콜 , 헤더체크섬 옵션 송신지 IP주소 수신자 IP 주소 identification : 동일한 데이터로부터 분할된 패킷을 재조립할 수 있도록 분할된 패킷들은 같은 식별자 플래그 : RDM D : do not fragment : 이거 1이면 분할하지마라 M : more fr..

[1주차정리]PDU,ICI,IDU,SDU,PCI,네트워크 장비(스위치, 라우터, 브리지)

계층으로 나누는 이유 네트워크 장비미다 필요한 계층이달라서 재사용에 용이하고 유지보수가 쉬워서 IDU : interface data unit PCI , SDU, ICI : protocol control information, service data unit, interface control information PDU : protocol data unit IDU : interface data unit SDU = IDU + ICI PDU = PCI (헤더, 트레일러) + SDU + ICI ICI : 계층간 이동을 하는데 필요한 부가정보 PCI : 상대방 n계층에서 이해할 수 있는 부가정보 (헤더, 트레일러) SDU : 상위계층의 순수 data PDU : 상대방의 N 계층에 전달되는 data 1계층 리피터,..

ARP와 ICMP 그리고 멀티캐스트

슈퍼네팅 ; 여러개의 c클래스를 모아 하나의 네트워크로 사용 ⇒ 2의 지수 개수, 연속적으로 모아야함 CIDR(classless inter-domain Routing) 클래스을 기준으로 IP주소를 할당받는게 아닌 bit별로 IP주소를 할당 네트워크 식별자 범위를 자유롭게 지정 ARP(address resolution protocol) 네트워크 계층 프로토콜 상대방의 IP주소를 이용해 상대방의 MAC주소를 알수있게 하는 프로토콜 request, response가 있다. 동일한 네트워크에 있을 때 request로 브로드 캐스팅한다. 해당 호스트가 자신의 MAC주소를 담아 response를 보낸다. 다른 서브넷에 있는 호스트의 MAC주소를 알고 싶을 때 라우터가 중계해야하므로 라우터 자신의 MAC주소를 보낸다..

[1_2]계층간의 통신과 네트워크 장비

1. 계층간 통신 같은 Device에서 어떻게 정보들이 전송될까? 먼저 한 Device가 있을 때 계층적 구조를 가진다. OSI 7계층의 경우 응용, 표현, 세션, 전송, 네트워크, 데이터링크계층, 물리계층으로 이루어진다. 각각 계층을 지나면서 어떻게 데이터가 전송이 될까? N+1계층, N계층, N-1 계층으로 이루어진다고 할 때 각 계층 사이에는 별도의 SW모듈을 연결하는 논리적인 경계선 interface가 존재한다. 하나하나 과정을 설명하기전에 약어를 먼저 보자면 SDU : Servide Data Unit | 투명하게 전달되는 사용자 데이터 PCI : Protocol Control Information IDU : Interface Data Unit | 계층 경계를 통과하여 전달되는 전체정보 ICI :..

[1_1]인터넷과 계층구조

인터넷 Architecture 1) 내적 일관성 유지 -> 개별 네트워크의 변경이 불필요하다 2) 오류방생시 소스로부터 재전송 -> (stupid networdk), 모든 지능은 단말이 가진다. 3) 게이트웨이 or 라우터를 이용해 네트워크를 연결한다. 4) 전제적인 통제는 불필요하다. OSI 참조 모델 - 7계층 웨어서부터 응표세전네데물 로 외우면 기억이 잘 난다. 여기에 인터넷을 하는 사람들이 반발을 하여 만든 것이 인터넷 프로토콜 - 5계층이다. OSI모델에서 위에 3계층 (응용, 표현, 세션)을 하나의 계층으로 합치고 이름을 응용계층이라고 하였다. 계층 설명 물리계층 (physical layer) - bit 전송 담당 - 데이터를 물리매체 상으로 전송한다. - 사용자 장비와 네트워크 종단장비간의 ..