[컴퓨터네트워크] C로 구현한 호스트 라우터간 ICMP 패킷 처리
- 최초 등록일
- 2004.03.01
- 최종 저작일
- 2004.03
- 36페이지/ 한컴오피스
- 가격 10,000원
소개글
호스트간에 메세지 패킷을 주고 받을때 어느 라우터를 경유하는지를 출력해준다.
각 호스트 및 라우터의 ICMP 모듈에서는 ICMP 패킷을 전송함으로써 오류 정보를 알려준다. (TTL값은 1씩 증가시킴)
목차
1.host 의사코드
- Main Function
- ArpOutput Function
- ArpInput Function
- ArpRequest Function
- Packet_Send Function
- Packet_Receive Function
2.Router 의사코드
- Main Function
- ArpOutput Function
- ArpInput Function
- ArpRequest Function
- Packet_Send Function
- Packet_Receive Function
3.Host Source / Comment
4.Router Source / Comment
본문내용
Ⅱ. Host 의사코드
(1) main 함수 의사 코드
1. cachetable 초기화
2. Queuetable 초기화
3. 사용자로부터 가상 IP주소, 가상 Ethernet주소, UDP Port, Interface, mask를 입력받는다.
4. 사용자로부터 입력받은 정보를 Well known file에 저장한다.
5. socket 생성 / 소켓에 지역주소 / 할당포트를 bind로 묶어준다.
6. FD_SET 구조체 변수를 이용하여 socket으로 들어오는 정보를 감지하도록함.
1. ARP packet / IP packet / ICMP Packet 인경우
① ARP 패킷인 경우 ■ ArpInput module 함수로 제어권 이동
② IP 패킷인 경우 ■ Packet_Receive 함수로 제어권 이동
③ ICMP 패킷인 경우 ■ Packet_Receive 함수로 제어권 이동
2. 키보드로부터 traceroute / arp / exit 명령이 들어올 경우
① traceroute 명령이 들어올 경우 ■ 패킷 구성후 Packet_Transfer함수로 제어권 이동
② Arp 명령이 들어올 경우 ■ cachetable의 내용을 출력
③ exit 명령이 들어올 경우 ■ 프로그램 종료
7. well known file을삭제
참고 자료
TCP/IP 소켓 프로그래밍 version C - 박준철 역-