OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 네트워크의 기초 - TCP/IP 프로토콜, Mac 주소, IP 주소, 넷마스크, 브로드캐스트 주소, 호스트 이름, 포트 번호

주누다 2015. 5. 3. 00:18
반응형


TCP/IP 프로토콜

- 프로토콜이란 컴퓨터와 컴퓨터 사이에서 데이터를 어떻게 주고 받을 것인지를 정의한 통신 규약

- 같은 프로토콜을 사용하는 기기 간에는 통신이 가능

- 인터넷이라고 부르는 네트워크는 'TCP/IP' 라는 프로토콜에 따라 데이터를 주고 받음

- 'TCP/IP' 프로토콜은 다섯 개의 계층으로 구성

- 전송 계층의 'TCP'와 네트워크 계층의 'IP'로 전체 프로콜을 대표하여

  TCP/IP 프로토콜 이라고 부르는  것

TCP/IP 프로토콜 모델

응용 계층(application layer)

전송 계층(transport layer)

네트워크 계층(network layer)

링크 계층(line layer)

물리 계층(physical layer)

TCP/IP 프로토콜 모델의 계층별 역할과 대표 프로토콜

 계층

 기능

 프로토콜

 전송 단위

응용 계층

서비스 제공 응용 프로그램

DNS, FTP, SSH, HTTP, Telnet

메시지

전송 계층

응용 프로그램으로 데이터를 전달.

데이터 흐름 및 전송 신뢰성 담당

TCP, UDP

세스먼트

네트워크 계층

주소 관리 및 경로 탐색

IP, ICMP

패킷

링크 계층

네트워크 장치 드라이버

ARP

프레임

물리 계층

케이블 등 전송 매체

구리 선, 광케이블, 무선

비트




주소 

- 유선이나 무선 네트워크에서 사용하는 인터페이스는 거의 대부분 이더넷(ethernet) 방식을 사용

- 컴퓨터의 주소는 MAC 주소, IP 주소, 호스트명




MAC 주소


- MAC은 'media access control'의 약자

- MAC 주소는 하드웨어를 위한 주소

- 다른 말로 이더넷 주소, 하드웨어 주소, 물리 주소라도고 함

- 쉽게 말해 MAC 주소는 네트워크 인터페이스 카드(랜 카드)에 저장된 주소라고 생각하면 됨

- MAC 주소는 기본적으로 네트워크 인터페이스 카드가 만들어질 때 부여

- 원칙적으로 수정할 수 없지만, 일부 네트워크 인터페이스 카드의 경우

  사용자가 MAC 주소를 수정할 수 있도록 허용함

- 특별한 경우가 아니라면 MAC 주소는 수정하지 않는 것이 좋음

- MAC 주소는 각 하드웨어를 구별하는 역할을 수행

- MAC 주소는 쌍점(:)이나 붙임표(-)로 구분되는 여섯 개의 16진수로 구성. 총 48비트.

- 앞의 세자리는 제조사번호, 뒤의 세자리는 일련번호

- 앞의 세자리인 제조사 번호는 국제 표준 기구 중 하나인 IEEE에서 지정

 

 MAC 주소의 예

00:50:56:

3e:3c:fe

제조사 번호(IEEE에서 지정)

일련번호(제조사에서 지정)




IP 주소


- 컴퓨터가 인터넷에 연결되려면 IP 주소가 할당되어 있어야함

- 보통 인터넷 주소라고 부르는 것이 IP(Internet Protocol) 주소

- IP 주소는 인터넷으로 연결된 네트워크에서 각 컴퓨터를 구분하기 위해 사용

- IP 주소는 1바이트 크기의 네 자리 숫자로 구성되므로, 총 4 바이트.

- TPC/IP 프로토콜의 3~5계층은 IP 주소를 사용

- IP 주소는 네트워크를 구분하는 '네트워크 주소 구분' 과

  해당 네트워크 안에서 특정 컴퓨터를 식별하는 '호스트 주소' 로 나뉨

- IP 주소는 총 32비트(4바이트) 중 몇 비트를 네트워크 부분으로 사용하고

  나머지 몇 비트를 호스트 부분으로 사용하는지에 따라

  A 클래스, B 클래스, C 클래스로 구분

- 주로 많이 접하게 되는 것이 C 클래스

- 기본적으로 C 클래스는 앞의 3바이트가 네트워크 부분이고,

  뒤의 1바이트만 호스트 부분으로 사용됨

- 호스트 부분으로 사용할 수 있는 숫자는 0~255인데,

  0은 네크워크 주소를 나타낼 때 사용, 255는 브로드캐스트 주소로 사용이므로

  1~254를 호스트 주소로 할당할 수 있음

- 예를 들어 192.168.100.5 는 C 클래스이므로

  네트워크 부분은 192.168.100 이고, 뒤의 5는 호스트 부분


IP 주소의 구성

IP 주소

네트워크 부분

호스분트 부분




넷마스크와 브로드캐스트 주소


- IP 주소가 네트워크 부분과 호스트 부분으로 구분

- IP 주소에서 네트워크 부분을 알려주는 역할을 하는 것이 넷마크스

- 넷마스크는 하나의 네트워크를 다시 작은 네트워크(서브넷)로 분리할 때도 사용. 그래서 서브넷 마스크라도고 함.

- IP 주소와 넷마스크를 10진수에서 2진수로 바꾼 다음, 두 값을 가지고 AND 연산을 수행.

- AND 연산을 수행하면 네트워크 부분만 남고 호스트 부분은 0이 됨

- 넷마스크는 IP 주소와 AND 연산을 수행하여 네트워크 부분만 남기는 역할

- IP 주소에서 어느 부분인지가 네트워크 주소인지를 알려주기 위해 넷마스크 값을 정확하게 설정해야함


- 브로드캐스트 주소는 같은 네트워크에 있는 모든 컴퓨터에 메시지를 보낼 때 사용하는 것으로

  호스트 부분은 모두 1로 설정

- 예를 들어 IP 주소에서

  네트워크 부분이 192.168.100.0 이면 브로드캐트 주소는 192.168.100.255가 됨


넷 마스크 계산의 예

10진수

 

2진수

192.168.100.5

255.255.255.0

 AND

11000000.10111100.01100100.00000101

11111111.11111111.11111111.00000000

 192.168.100.0

 

11000000.10111100.01100100.00000000




호스트 이름

- 컴퓨터가 인터넷에 연결되려면 IP 주소가 있어야함

- 이 주소를 사용하여 메일도 보내고 웹사이트에도 접속

- 컴퓨터가 숫자를 좋아하는데 비해 사람은 숫자로 된 주소를 기억하기가 쉽지 않음

- 사람은 숫자보다 이름을 더 잘 기억

- 220.95.233.171 대신 www.naver.com  을 사용하는 것

- naver.com 이 네트워크 부분 / www 가 호스트 부분

- 개인용 PC 의 경우 특별히 호스트 이름을 붙일 필요가 없지만,

  웹 서버와 같이 네트워크 서비스를 제공하는 서버 컴퓨터는 용도에 따라 호스트 이름을 붙여서 사용




포트 번호

- 주소와 관련해 알아둘 것 중의 하나 포트(port) 번호

- 포트 번호는 보통 주소에 포함되지는 않지만 각 서비스를 구분하는 번호

- 예를 들어 택배 기사는 일단 주소를 보고 배달 => 상품을 받은 엄마는 수시신을 보고 딸의 책상에 갖다 놓음


- 사용자가 네트워크 서비스를 이용할 때 사용자의 패킷은 IP주소를 보고 해당 서버 컴퓨터를 찾아감

- 서버 컴퓨터에 도착한 사용자의 패킷은 어떤 서비스를 요청한 것인지 확인한 다음 해당 데몬에 패킷을 전달

- 예를 들어 웹 서비스를 요청했으면 웹 서버 데몬(httpd)에 전달하는 것

- 사용자가 어떤 서비스를 요청했는지 구분해주는 것이 포트 번호

- 포트 번호는 TCP/IP 프로토콜의 4계층인 전송 계층에서 사용하는 번호

- '/etc/services' => 각 서비스별로 포트 번호가 무엇인지를 정의하는 것

- '/etc/services' 파일에 저장된 포트 번호는 국제 표준으로 합의하여 사용

- 사용자가 개발한 네트워크 프로그램은 이 파일에 정의되지 않은 번호를 사용하여 서비스를 제공





반응형