Computer Engineering/Network (10)
[Network] DNS(Domain Name System)

DNS(Domain Name System)

 

 - 기억하기 힘든 IP 주소 대신 기억하기도 좋고 표현하기도 좋은 도메인 이름을 부여해 IP 주소 대신 사용

 - 웹 브라우저의 주소 창 도메인 주소로 입력할 시 컴퓨터에 등록된 기본 DNS 서버에 입력한 도메인 이름에 해당하는 IP 주소를 얻게되고 그 IP 주소로 접속하는 방식

 - 기본 DNS 서버가 모르는 도메인 이름을 물을 시 다른 DNS 서버에 요청하여 응답

 - 계층적으로 관리되는 일종의 분산 데이터베이스 시스템(Distributed Database System)

  Comments,     Trackbacks
[Network] IGMP(Internet Group Management Protocol)

IGMP(Internet Group Management Protocol; 인터넷 그룹 관리 프로토콜)

 

 - 서브넷 상의 멀티캐스팅 그룹 관리를 위한 프로토콜

 - 하나의 라우터와 여러 호스트로 구성되는 서브넷 상에서 라우터 및 호스트들이 어떤 멀티캐스트 그룹에 속하는지 확인하기 위한 일종의 그룹 관리용 신호 프로토콜(Signaling Protocol)

 


 

IGMP Query Message

: 멀티캐스트 라우터가 주기적으로 서브넷 호스트 그룹에 전송하여 호스트를 확인하는 메시지

 


 

IGMP Report Message

: 멀티캐스트 라우터의 쿼리 메시지에 응답하는 메시지이나, 쿼리 메시지 없이도 전송 가능

  호스트가 자신이 가입하고자 하는 그룹주소 정보를 라우터에게 전송

 


 

IGMP 그룹 멤버쉽 동작

 

 - 그룹 가입(Joining)

: 그룹에 가입하고자 하는 요청을 라우터에게 보고

 

 - 그룹 멤버쉽 조사(Monitoring)

: 멤버쉽 쿼리 메시지를 보내서 응답을 기다림

 

 - 멤버쉽 연속(Member Continuation)

: 멤버쉽을 계속해서 유지하기 원하는 보고 메시지

 

 - 그룹 탈퇴(Leaving)

: 탈퇴에 대한 응답 메시지를 보내지 않음

 


 

참고 : http://www.ktword.co.kr/abbr_view.php?m_temp1=1716

  Comments,     Trackbacks
[Network] 브로드캐스트(Broadcast)

브로드캐스트(Broadcast)

 

 - 한번에 여러 호스트에게 데이터를 전송

 - 동일한 네트워크로 연결되어 있는 호스트에게만 데이터를 전송할 수 있음

 


 

Directed Broadcast

 

: 192.12.34 네트워크에 연결되어있는 호스트에게 전송 시 192.12.34.255

 


 

Local Broadcast

 

: 192.12.34 네트워크에 속해있는 호스트가 255.255.255.255로 전송하면 속해있는 네트워크에 전송

 


 

참고 : 열혈 TCP/IP 소켓 프로그래밍, 윤성우 저

 

 

  Comments,     Trackbacks
[Network] 멀티캐스트(Multicast)

멀티캐스트(Multicast)

 

 - 멀티캐스트 방식의 데이터 전송은 UDP 기반

 - 목적지는 특정 그룹에 등록되어 있는 다수의 호스트

 - 단 한번의 데이터 전송으로 다수의 호스트에게 데이터를 전송

 


 

멀티캐스트 방식

 

 

 

 

 - 유니캐스트는 3개의 호스트에 파일을 전송하려면 파일 전송을 3회 해야한다.

 - 반면에 멀티캐스트는 1회 전송으로 다수의 호스트에 전송할 수 있다.

 - 라우터에 따라 멀티캐스트를 지원하지 않거나, 막아놓은 경우 터널링 기술을 사용한다.

 


 

TTL(Time to Live)

 

 - '패킷을 얼마나 멀리 전달할 것인가' 를 결정하는 주 요소

 - 정수로 표현

 - 라우터를 하나 거칠 때마다 1씩 감소

 - 값이 0이 되면 패킷은 더 이상 전달되지 못하고 소멸

 - 너무 크게 설정하면 네트워크 트래픽에 좋지 못한 영향을 줌

 - 너무 작게 설정하면 목적지에 도달하지 않을 수 있음

 


 

참고 : 열혈 TCP/IP 소켓 프로그래밍, 윤성우 저

 

 

 

  Comments,     Trackbacks
[Network] ICMP(Internet Control Message Protocol)

ICMP(Internet Control Message Protocol)

 

 - TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알리거나, 진단 등과 같이 네트워크 계층(IP 계층)에서 필요한 기타 기능들을 수행하기위해 사용되는 프로토콜

 - IP(Internet Protocol)와 하나의 쌍을 이루며 동작

 


 

ICMP 계층 위치

 

 - ICMP는 IP의 상위 계층의 프로토콜처럼 행동하나, 결국 IP 계층의 일부이며, IP 데이터그램의 데이터 부분에 포함되어 전달

 


 

 ICMP 메시지 유형

: http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=5465&id=423

 

 - 오류 보고 메시지(Error Reporting Message)

: http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=1966&id=1001

 - 정보성 메시지(Informational Message) / 질의 메시지(Query Message)

: http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=1965&id=1002

 


 

관련 명령어

 - ping

 - traceroute

 

관련 표준

 - RFC 792

 - RFC 1122

 - RFC 1812

 


 

참고 : http://www.ktword.co.kr/abbr_view.php?id=423&m_temp1=94&nav=2

  Comments,     Trackbacks
[Network] ARP(Address Resolution Protocol)

ARP(Address Resolution Protocol)

 

논리적인 IP 주소를 물리적인 MAC 주소로 변환해주는 프로토콜

 


 

ARP 요청

 

 - 통신한 경험이 없는 LAN의 라우터가 외부로부터 데이터 패킷이 전달되어 목적지 호스트를 찾을 때

 - 라우터가 최초로 하는 일은 ARP request packet(ARP 요청 패킷)을 LAN의 전체 노드에 송출(Broadcast)

 - ARP 요청 메시지에는 송신자의 MAC 주소 및 IP 주소, 목적지 IP 주소를 채우지만, 목적지 MAC 주소는 0

 

ARP 응답

 

 - ARP 요청 패킷에 포함된 IP 주소와 일치하는 호스트는 자신의 IP 주소 및 물리 주소를 채워놓은 ARP reply packet(ARP 응답 패킷)을 해당 라우터에게 송출함으로써 물리 주소 및 IP 주소 상호 간의 관련 정보를 얻게됨 (Unicast)

 


 

ARP 캐시(Cache)

 

ARP 캐시를 최신으로 유지

 - 각 노드는 ARP의 효율적 수행을 위해 ARP 캐시를 최신으로 유지하는 일이 필수

 - 캐시의 각 항목은 새로 생긴 후로 20분이 지나면 자동 소멸 (RFC 1122)

 

 

 - 자주 사용되는 곳은 ARP 캐시를 통해 즉각적으로 조회가 가능

 

ARP 트래픽 경감

 - ARP 캐시에 조회되는 자료가 없는 경우 ARP request packet을 송출하게 되어 전체적으로 LAN 트래픽을 경감시킴

 

ARP 캐시 확인 명령어

 - arp -a

: 주요 표시 내용(IP 주소 또는 호스트 이름, 물리 주소, 유형 : 동적, 정적)

 


 

ARP 패킷

 

 - 주로 요청과 응답을 통해 네트워크 계층의 IP 주소 및 데이터 링크 계층의 MAC 주소 정보를 조회하고 알려주는 패킷

 

 - Destination MAC Address (6 Byte)

: ARP request 인 경우 FFFFFFFF, ARP reply 인 경우 요청한 노드의 MAC 주소

 - Source MAC Address (6 Byte)

 - Ethertype (2 Byte)

: Ethernet Protocol Type (ARP는 0x0806, RARP는 0x0835)

 

 

 

 - Hardware Type (2 Byte)

: 사용중인 하드웨어 주소 타입을 나타내는 필드로, 네트워크 유형을 나타낸다.

: RFC 1060에 각 타입이 기술되어 있다.

: http://www.iana.org/assignments/arp-parameters/

 

 - Protocol Type (2 Byte)

: 어떠한 유형의 프로토콜(IPv4, IPv6, ATM 등)을 사용하는지 정의 (예로 IPv4의 경우 0x0800)

 - Hardware Length(HLEN) (1 Byte)

: Ethernet의 경우 6

 - Protocol Length (1 Byte)

: 논리 주소인 네트워크 계층 주소의 크기, IPv4는 4

 - Operation Code (2 Byte)

: 현재 ARP 패킷이 다음 중 어떤 종류인지 정의

: ARP Request = 1

  ARP Reply = 2

  RARP Request = 3

  RARP Reply = 4

 - Sender Hardware Address(Sender Ethernet Address) (6 Byte)

 - Sender Protocol Address(Sender IP Address) (4 Byte)

 - Target Hardware Address(Target Ethernet Address) (6 Byte)

: ARP Request의 경우 송신자 MAC 주소 및 IP 주소, 목적지 IP 주소는 채워놓지만 목적지 MAC 주소는 0

 - Target Protocol Address(Target IP Address) (4 Byte)

 


 

참고 : http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=2188&id=421

 

 

 

'Computer Engineering > Network' 카테고리의 다른 글

[Network] 멀티캐스트(Multicast)  (0) 2016.02.24
[Network] ICMP(Internet Control Message Protocol)  (0) 2016.02.19
[Network] 캡슐화(Encapsulation)  (0) 2016.02.15
[Network] TCP / UDP Port  (0) 2016.02.15
[Network] IP Address  (0) 2016.02.15
  Comments,     Trackbacks
[Network] 캡슐화(Encapsulation)

캡슐화(Encapsulation)

 

네트워크에서 상위 계층의 프로토콜 정보를 하위 프로토콜 프레임 사용자 정보 영역에 내장시켜 전송하는 기술로 여러 프로토콜 층에서 정보를 하나로 종합하여 네트워크에 보내는 프로세스라고도 하는데, 터널링과 같은 의미이다.

 


 

 

 

 

 


 

 

참고 : http://www.hoons.net/Board/cshaptip/Content/35343

'Computer Engineering > Network' 카테고리의 다른 글

[Network] ICMP(Internet Control Message Protocol)  (0) 2016.02.19
[Network] ARP(Address Resolution Protocol)  (0) 2016.02.18
[Network] TCP / UDP Port  (0) 2016.02.15
[Network] IP Address  (0) 2016.02.15
[Network] OSI 7 Layer  (0) 2016.02.15
  Comments,     Trackbacks
[Network] TCP / UDP Port

TCP / UDP 포트

 

TCP나 UDP 등의 프로토콜이 사용하는 가상의 논리적 통신 연결단이다.

각 포트는 번호로 구별되며 이 번호를 포트 번호라고 한다. 포트 번호는 IP 주소와 함께 쓰여 해당하는 프로토콜에 의해 사용된다.

 

사용자 삽입 이미지

예) http://127.0.0.1:80

 


 

 

 

0번 ~ 1023번은 잘 알려진 포트 (well-known port)

1024번 ~ 49151번은 등록된 포트 (registered port)

49152번 ~ 65535번은 동적 포트 (dynamic port)

 


 

 

참고 : http://blog.eztcp.com/what-is-the-port-number-on-tcpip/

'Computer Engineering > Network' 카테고리의 다른 글

[Network] ICMP(Internet Control Message Protocol)  (0) 2016.02.19
[Network] ARP(Address Resolution Protocol)  (0) 2016.02.18
[Network] 캡슐화(Encapsulation)  (0) 2016.02.15
[Network] IP Address  (0) 2016.02.15
[Network] OSI 7 Layer  (0) 2016.02.15
  Comments,     Trackbacks
[Network] IP Address

IP 주소(Internet Protocol Address)

 

IP 주소는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다.

네트워크에 연결된 장치는 모두 IP 주소를 가지고 있어야 한다.

 


 

IPv4(Internet Protocol Version 4)

 

IPv4 주소는 일반적으로 사용하는 IP 주소이다. 이 주소의 범위는 32비트로 .으로 구분하여 0~255 사이의 십진수를 4개 사용한다. 따라서 0.0.0.0 부터 255.255.255.255 까지로 이론적으론 4,294,967,296 개의 IP가 존재한다.

하지만 일부 번호들은 특별한 용도를 위해 예약되어 있기 때문에 전체가 사용되고 있지는 않다.

 


 

IPv6(Internet Protocol Version 6)

 

IPv6 주소는 IPv4의 주소가 고갈됨에 따라 제정되었다.

IPv4 와의 차이는 다음과 같다.

 - 기존 32비트 주소의 IPv4에 비해 주소의 길이가 128비트로 늘어나 2^128 즉, 약 3.4x10^38개(340,282,366,920,938,463,463,374,607,431,768,211,456개)를 사용할 수 있다. 340간2823구6692양938자4634해6337경4607조4317억6821만1456

 - 네트워크에 접속하는 순간 자동적으로 네트워크 주소를 부여받는다. (IPv4는 네트워크 관리자로부터 수동으로 IP 주소를 부여받음)

 - IPv6의 점보그램 옵션을 사용하면 특정 호스트 사이에는 임의로 큰 크기의 패킷을 주고받을 수 있도록 제한이 없어지게 된다. 따라서 대역폭이 넓은 네트워크를 더 효율적으로 사용할 수 있다. (IPv4에서 패킷은 64KB로 제한)

 - IP 패킷의 처리를 신속하게 할 수 있도록 고정크기의 단순한 헤더를 사용하는 동시에, 확장헤더를 통해 네트워크 기능에 대한 확장 및 옵션 기능의 확장이 용이한 구조로 정의하였다.

 - 플로 레이블(Flow Label) 개념을 도입, 특정 트래픽은 별도의 특별한 처리(실시간 통신 등)를 통해 높은 품질의 서비스를 제공할 수 있도록 한다.

 - 패킷 출처 인증과 데이터 무결성 및 비밀 보장 기능을 반영하였다. IPv6 확장헤더를 통해 적용할 수 있다.

 - 네트워크의 물리적 위치에 제한받지 않고 같은 주소를 유지하면서도 자유롭게 이동할 수 있다.

 

주소는 :으로 구분하며, 범위는 0000:0000:0000:0000:0000:0000:0000:0000 ~ FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 이다.

0000을 0으로 축약하거나, 연속되는 0의 그룹을 없애고 :만을 남길 수 있다.

 

2001:0DB8:0000:0000:0000:0000:1428:57ab
2001:0DB8:0000:0000:0000::1428:57ab
2001:0DB8:0:0:0:0:1428:57ab
2001:0DB8:0::0:1428:57ab
2001:0DB8::1428:57ab

위의 주소는 모두 같은 주소이다.

 

  Comments,     Trackbacks
[Network] OSI 7 Layer

OSI 7 계층 (OSI 7 Layer)

 

: 개방형 시스템 간 상호 접속(Open Systems Interconnection; OSI, 개방형 상호접속시스템)

  국제 표준화 기구(ISO)가 ITU-T와 나란히 1977년에 시작한 컴퓨터 네트워크 표준

 


 

현재 OSI 모델은 더이상 산업표준으로 추천되지 않는다. 프로토콜 개발자들은 OSI 모델을 정확하게 따르게 요구받지도 않는다. 그리고 OSI 모델이 현존하는 유일한 네트워킹 모델도 아니며, 많은 사람들이 TCP/IP 모델로 알려진 미국방성(DoD) 모델을 더 선호한다.

 

 

 

 

 


 

OSI 7 계층의 탄생 배경

 

 - 여러 정보 통신 업체 장비들은 자신의 업체 장비 간에만 연결이 되는 등 호환성이 없었다.

 - 따라서 ISO에서 1984년에 OSI 참조모델을 발표하게 된다.

 - 모든 시스템들의 상호 연결에 있어 문제가 없도록 표준을 만든 것으로 7개의 계층으로 구분된다.

 


 

OSI 7 계층의 목적

 

 - OSI 7 계층의 가장 중요한 목적은 2가지로 표준과 학습 도구이다.

 - 비용 절감은 표준화를 통해 장비별 이질적인 포트의 문제나 프로토콜 등으로 인한 문제를 해결하기 위함이다.

 - 그 예로 3 계층 장비인 라우터를 제작하였는데, 그에 따른 계층별 장비를 모두 제작해야 하는 것이 아니라 프로토콜에 맞춰서 사용하면 되기 때문에 비용 절감이 되는 것이며, 이 것이 표준화의 목적 중 하나이다.

 - 네트워크 엔지니어의 경우는 주로 2, 3, 4 계층에 대해 업무를 수행한다. (당연히 나머지 계층도 알아야 전반적인 설계와 문제 해결이 가능하다)

 - OSI 7 계층은 계층 별 기능과 통신의 과정을 잘 정립하여 교육하기 위한 목적으로 자리를 잡았다.

 


 

계층 1 : 물리 계층(Physical Layer)

 

물리 계층은 데이터가 전송될 때 사용되는 물리적 매개체이다.

전압, 허브, 네트워크 어댑터, 리피터, 케이블 명세서를 포함해 모든 하드웨어의 물리적이고 전자적인 특성을 정의한다. 물리 계층은 연결을 설정하고 종료하며, 공유된 통신 자원을 제공하고, 아날로그를 디지털로 디지털을 아날로그로 바꾼다.

 

장비 : 케이블, 허브, 리피터

 


 

계층 2 : 데이터 링크 계층(Data link Layer)

 

데이터 링크 계층은 물리적인 네트워크 사이의 데이터 전송을 담당한다.

가장 중요한 목적은 물리적인 장비를 식별하는데 사용되는 주소 지정 체계(Addressing Schema)와 데이터가 변조되지 않았음을 확증하기 위한 오류 확인을 제공하는 것이다.

브리지와 스위치가 이 계층에서 동작하는 물리적인 장비이다.

 

장비 : 브리지, 스위치

 


 

계층 3 : 네트워크 계층(Network Layer)

 

네트워크 계층은 물리적인 네트워크 사이의 라우팅을 담당하며, 라우터가 이 계층에서 동작한다.

그리고 네트워크 호스트의 논리적인 주소를 관리하고 패킷을 분할해 프로토콜을 식별하는 기능, 오류 탐지와 같은 몇 가지 경우를 담당한다.

 

장비 : 라우터

 


 

계층 4 : 전송 계층(Transport Layer)

 

전송 계층의 가장 중요한 목적은 아래 계층에 신뢰성 있는 데이터를 전송할 수 있게 하는 것이다.

형태는 흐름 제어, 분할, 재조립, 오류 관리를 포함하지만 전송 계층은 지점과 지점간의 오류가 없음을 보장해준다. 또, 연결 지향적인 프로토콜과 비연결 지향적인 프로토콜을 제공하며, 방화벽과 프록시 서버가 이 계층에서 동작한다.

 

장비 : 게이트웨이

 


 

계층 5 : 세션 계층(Session Layer)

 

세션 계층은 두 대의 컴퓨터 사이의 세션이나 대화(Dialogue)를 관리한다.

모든 통신 장비를 연결하고 관리하며 종료한다.

순간적으로 연결이 끊어지는 것을 막고, 호스트 사이의 연결을 적절하게 종료시키기 위한 기능이 있으며, 연결이 단방향인지 양방향인지에 대한 것을 담당한다.

 


 

계층 6 : 표현 계층(Presentation Layer)

 

표현 계층은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어준다. MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다.

예를 들면, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔주는 것이 표현 계층의 몫이다.

 


 

계층 7 : 응용 계층(Application Layer)

 

응용 계층은 사용자가 네트워크에 접근할 수 있도록 해주는 계층이다.

사용자 인터페이스, 전자 우편, 데이터베이스 관리 등 서비스를 제공한다.

 


 

계층 별 프로토콜 데이터 단위(Protocol Data Unit ; PDU)

  

물리 계층

Bit

데이터 링크 계층

Frame

네트워크 계층

Packet

전송 계층

Segment

 


 

 

계층 별 대표 프로토콜

 

계층 

프로토콜 

Application

HTTP, SMTP, SNMP, FTP, Telnet, SSH & Scp, NFS, RTSP

Presentation

JPEG, MPEG, XDR, ASN.1, SMB, AFP

Session

TLS, SSH, ISO 8327 / CCITT X.225, RPC, NetBIOS, AppleTalk

Transport

TCP, UDP, RTP, SCTP, SPX, AppleTalk

Network

IP, ICMP, IGMP, X.25, CLNP, ARP, RARP, BGP OSPF, RIP, IPX, DDP

Data link

Ethernet, Token Ring, PPP, HDLC, Frame relay, ISDN, ATM, 무선 랜, FDDI

Physical

-

 


 

 

출처

 

 : http://enter.tistory.com/141

 : http://kimdongwook.tistory.com/entry/OSI-7계층

 : http://beansberries.tistory.com/entry/네트워크-OSI-7-계층

  Comments,     Trackbacks