280 likes | 429 Views
14. TCP/IP 와 경로 배정. 인천대학교 전산과 대학원 DB 연구실 김 종 탁. 개요 네트워킹 패킷과 세스맨테이션 패킷 주소지정 인터넷 주소 ARP 와 PARP : 주소변환 경로 배정. 네트워크의 설정 네트워크 디버깅 다른 프로토콜들 Apple Talk IPX DECnet. 목차. 개 요. 인터넷 프로토콜 (Internet Protocol : IP) 한 컴퓨터에서 다른 컴퓨터로 원시 자료 전송
E N D
14. TCP/IP와 경로 배정 인천대학교 전산과 대학원 DB연구실 김 종 탁
개요 네트워킹 패킷과 세스맨테이션 패킷 주소지정 인터넷 주소 ARP와 PARP : 주소변환 경로 배정 네트워크의 설정 네트워크 디버깅 다른 프로토콜들 Apple Talk IPX DECnet 목차
개 요 • 인터넷 프로토콜(Internet Protocol : IP) • 한 컴퓨터에서 다른 컴퓨터로 원시 자료 전송 • 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol : ICMP) • IP를 위한 오류 메시지, 경로배정 원조, 방향요청등 저수준 기능들을 준비 • 사용자 데이터그램 프로토콜(User Datagram Protocol : UDP) 과 전송 제어 프로토콜(Transmission Control Protocol : TCP) • IP를 이용하여 자료를 하나의 프로그램에서 다른 프로그램으로 보냄 • UDP는 각 메시지의 전송에 신뢰성이 없지만, TCP는 신뢰성 있는 연결지향 프로토콜 • TCP/IP와 연관되어 자주 사용되는 소프트웨어 패키지를 다룬다. • 저수준 네트워크 오류수정
네트워킹(1) • ISO/OSI 네트워크 모델
네트워킹(2) • TCP/IP 네트워크 모델
네트워킹(3) • TCP/IP 패밀리 Application Layer Transport Layer Network Layer Link Layer
패킷과 세그맨테이션(1) • 네트워크 인터페이스 • 네트워크로의 각각의 컴퓨터 연결 • 경로배정 • 하나 이상의 인터페이스를 갖는 컴퓨터는 하나의 인터페이스를 통해 데이터를 수신하고 다른 것을 통해 재송신함으로써 데이터를 전송하는 기능 • 라우터(router) 또는 게이트웨이(Gateway) • 경로배정을 수행하는 컴퓨터
패킷과 세그맨테이션(2) • 데이터 : 헤더와 페이로드로 구성되는 패킷 형태 • 헤더 : 패킷이 어디에서 왔는지, 그리고 어디로 가는지를 알려줌 • 페이로드(payload) : 전송되어져야 하는 데이터를 의미 • 전형적인 패킷의 형태
패킷 주소지정 • 편지나 전자메일 메시지 같은 네트워크 패킷은 그들의 목적지에 도달하기 위하여 적절하게 주소가 표기 • 인터넷 주소 지정 • 하나의 4 바이트 IP 주소가 각각의 네트워크 장치에 할당 • IP 주소는 유일하고 하드웨어에 독립적 • 이것은 한 네트워크에서 다른 곳으로 패킷을 경로 배정하는 프로세스를 위해 설계된 것 • 서로 다른 물리적 네트워크 상의 컴퓨터들이 서로 통신할 수 있음
인터넷 주소(1) • 인터넷 주소 클래스 • 0, 127, 255는 특별한 것으로 일반적인 IP 주소로는 사용되지 않는다.
인터넷 주소(2) • 0번 주소 • “이 호스트” 나 “이 네트워크”를 지시 • 보통 전송하는 호스트가 자신의 주소에서 그 부분을 알지 못함을 의미 • 255번 주소 • 모든 호스트들이 수신해야만 하는 방송 주소 • 방송 주소의 4 바이트 모두 다 사용될 수도 있고, 실제 네트워크를 식별하는 네트워크 부분은 그대로 두고 호스트 부분에만 쓰일 수도 있다. • 127번 주소 • 지역 호스트만을 포함하고 있는 가공된 네트워크
ARP와 RARP : 주소 변환(1) • ARP(Address Resolution Protocol) • 하드웨어 주소와 연관된 특정한 IP 주소를 알아내는데 사용 • 방송을 지원하는 모든 종류의 네트워크 상에서 사용 • “누가 128.138.116.4에 대한 하드웨어 주소를 아는가?” • “예 그게 접니다. 저의 Ethernet 주소는 8:0:20:0:fb:6a입니다”
ARP와 RARP : 주소 변환(2) • RARP • 구성파일에 자신의 IP 주소를 갖는 대신, 자신의 주소를 알아내기 위해 중앙 서버에게 요청 • 거의 쓰여지지 않는 RARP 프로토콜(Reverse ARP)은 역 변환(reverse translation)을 위해 ARP를 확장한 것 • 각각의 네트워크 상에 설치된 중앙 서버 프로세스를 필요 • Ethernet 주소와 IP 주소 사이의 명확한 매핑을 지원해야만 구성 될 수 있음 • 구성 데이터 • /etc/ethers와 /etc/hosts 로 부터 참조
경로 배정(1) • 경로배정 • 기점과 목적지 사이에 존재하는 복잡한 네트워크를 지나는 패킷의 방향을 지시하는 프로세스 • TCP/IP 경로배정 정보 • “네트워크 A에 도달하기 위해서는, 패킷을 컴퓨터 C를 통해 전송하라, 비용은 한 홉(hop)이다,”와 같은 규칙(“경로”)의 형태 • 커널내의 표에 저장 • 특정한 조소로의 패킷 경로를 결정하기 위해 커널은 사용 가능한 규칙 중에서 가장 상세한 것을 선택 • 패킷이 한 인터페이스에 들어오면, 지역내의 다른 호스트로 보내거나 어디로 보내야 할지를 결정하기 위해 경로배정 표를 비교
경로 배정(2) • 컴퓨터 경로배정 표 • netstat 명령어를 이용하여 시험 예) netstat –r –n Routing Table ; Destination Gateway Flags Ref Use Interface 128.138.238.0 128.138.238.18 U 5 2845294 i11 128.138.240.0 128.138.240.1 U 1 168589 i10 130.118.0.0 128.138.238.36 UG 0 0 i11 • 예를 들어 세 번째 경로는 네트워크 130.118에 도달하기 위해서 패킷이 게이트웨이 128.137.238.36을 통하여 보내야만 한다는 것
경로 배정(3) • 경로배정 프로토콜 • 내부 게이트웨이 프로토콜(Interior Gatway Protocol : IGB) • 단일 중앙 권한하에 있는 네트워크의 집합인 “자치시스템”내에서 경로배정 정보를 관리 • 외부 게이트웨이 프로토콜(Exterior Gateway Protocol : EGP) • 자치 시스템간의 경로배정을 관리 • EGP에 관여하기 위해서는 InerNIC에 자치 시스템으로 등록되어야 한다. • EGP는 IGP 보다 전형적으로 “바보”이다. • 많은 양의 경로 배정 테이터를 분산
경로 배정(4) • 서브네팅 • 수 백대의 컴퓨터가 연결된 단일 네트워크는 거의 없다 • 이러한 주소를 가지는 대부분의 사이트는 서브네팅이라고 하는 주소기법을 사용 • 서브네팅은 네트워크의 비트를 1로하고, 호스트의 비트를 0으로하는 “서브네트 마스크”를 사용하여 표시 • 커널은 어느 비트가 네트워크 부분인지를 알아내기 위해 IP 주소의 상속된 클래스를 이용
네트워크의 설정(1) • 네트워크의 설정 단계 • 물리적,논리적 구조를 계획(15장에서 설멍) • IP 주소를 할당한다. • 네트워크 하드웨어를 설치 • 부트시에 네트워크 인터페이스를 구성하기 위해 각 호스트를 설정한다. • 경로배정 데몬이나 정적 경로를 설정한다.
네트워크의 설정(2) • 인터넷 주소 얻기와 할당 • 인터넷 주소신청 • Internic.net에 anonymous ftp를 이용 • HOSTMASTER@internic.net에 전자메일을 보내서 양식을 요구 • 인터넷 주소 할당 • /etc/hosts파일 • 이름과 IP 주소를 사상하는 가장 오래되고 간단한 방법 • 이름과 주소 사상의 복잡성과 중요성 때문에 전세계적인 범위에서 이 문제를 다룰 수 있는 도메인 이름 시스템(DNS)기법이 제시 • 16장에서 이 기법과 구현을 다룬다.
네트워크의 설정(3) • Ifconfig : 네트워크 인터페이스 구성 • Ifconfig interface [family]address up option • Ifconfig le0 210.126.35.117 up netmask 255.255.255.0 broadcast 210.126.35.255 • 키워드 up : 인터페이스를 활성화 • 키워드 down : 인터페이스를 비 활성화 • Broadcase • 이 옵션은 16진수나 점 표기법으로 그 인터페이스의 Ipqkdthd 주소를 명시 • 정확한 방송 주소는 호스트 부분이 모두 1인 값 • 대부분의 시스템은 디폴트로 이값을 갖는다
네트워크의 설정(4) • 일반 네트워크 셋팅 • /etc/resolv.conf • Domainname inchon.ac.kr • Nameserver 210.126.32.8 • /etc/defaultrouter • 210.126.35.254 • /etc/defaultdomain • Inchon.ac.kr • /etc/nsswitch.conf • Hosts = files dns • /etc/hosts 파일 편집
네트워크 디버깅(1) • Ping : 호스트가 살아 있는지를 확인 • 수행중인 호스트를 ping으로 검사하는 것은 사용하고 있는 네트워크가 제대로 구성되어 있는지를 검사하는 좋은 방법 • Netstat : 네트워크의 상태 알아보기 • 네트워크의 연결상태 • 인터페이스의 구성 정보 • 경로배정 표 조사 • 다양한 네트워크 프로토콜을 위해 운용상의 통계
네트워크 디버깅(2) • Traceroute : IP 패킷 추적 • Traceroute hostname 예) traceroute www.yahoo.co.kr • tcpdump., etherfind, snoop : 통신량 감시기 • Tcpdump, tcpdump : SunOS • Snoop : Solaris
네트워크 디버깅(3) • arp : 주소 사상의 검사와 관리 • IP 주소를 하드웨어 주소로 사상하는 커널 표를 접근 • arp –a • 사상 표의 내용을 덤프 • arp –d hostname • 한 항목을 지운다 • arp –s hostname address • 하나를 추가 시킨다. • arp hostname • 단일 호스트로의 사상을 검사
다른 프로토콜들 • TCP/IP 는 UNIX 컴퓨터에서 사용되는 표준 네트워크 프로토콜 • 다른 프로토콜들도 UNIX를 위해 구현되었다 • 다음 절들에서는 몇 가지 일반적으로 사용되는 프로토콜에 대해서 간략하게 설명 자세한 내용 : 14.14 절
Apple Talk • 초기의 매킨토시 컴퓨터간에 프린터를 공유하기 위한 방법으로 Apple에서 개발 • 직렬케이블(LocalTalk)과 Ethernet(EtherTalk)을 포함한 다양한 하드웨어 매체를 지원 • Apple은 MacTCP라 하는 시스템 확장을 사용하여 매킨토시를 위한 TCP/IP를 구현
IPX • NetWare의 일부로 Novell에서 개발된 프로토콜 • Novell은 Netware의 주요한 네트워크 프로토콜로 결국 TCP를 사용할 것이라는 계획을 발표함 -> 이러한 이유로 TCP 기반의 Novell 시스템이 있지만 , 여전히 대부분의 시스템은 IPX를 사용 • Xerox PARC에서 개발한 XNS(Xerox Network System) 프로토콜의 일부인 IDP(Internet Datagram Protocol) 에서 나왔다. • 데이터그램(신뢰성 없는) 전송을 이용한 소켓을 사용
DECnet • DEC의 네트워크 제품 이름 • 실제적으로 DNA(Digital Network Architecture)를 구현한 제품에 사용되는 이름 • 첫번째 버전 1974년 개발 • 현재 1991년에 발표된 Phase V 를 사용 • Phase V : 3개의 전송 계층(TCP,OSI,NSP)을 지원