달력

9

« 2024/9 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'네트워크'에 해당되는 글 12

  1. 2019.01.28 멀티캐스트
  2. 2017.05.06 Routing
  3. 2017.04.14 어드레스 클래스
  4. 2017.04.01 TTL / IPv4, I.Pv6
  5. 2017.03.11 Port
  6. 2017.02.26 MIME
  7. 2017.02.25 POP(Post Office Protocol)
  8. 2017.02.18 SMTP(Simple Mail Transfer Protocol)
  9. 2017.02.12 Cookie
  10. 2017.02.04 GET / POST
2019. 1. 28. 22:04

멀티캐스트 네트워크2019. 1. 28. 22:04

운영 중인 시스템 서버 / 스위치 등 장비 교체후  멀티캐스트 통신이 안되는 문제가 발생했다. 문제는 멀티캐스트의 일부 대역대를 스위치 장비에서 해당 제조사의 기능활용을 위해 예약해두어서 발생했다. 해당 기능 설정을 off하고 정상화했다. 문제해결하는 김에 멀티캐스트가 무엇인지 정리했다.


Multicast란?


○ 정의

Multicast group에 소속된 특정 다수에게 데이터를 전송하는 기법


○ 특징

- Multicast group 단위로 묶어 해당 그룹 host들은 동시에 데이터 수신

- UDP 사용(신뢰성 보장 x)

- Client에서 Multicast를 사용하는 어플리케이션을 시작하면 Multicast IP 주소와 Multicast MAC 주소를 라우터에 등록하여 Multicast group에 등록

- 하나의 Client에서 여러 Multicast 주소를 수용 가능

 (여러 Multicast 데이터 수신 가능)

- Server가 Multicast 주소로 데이터 전송 중에 있을 경우,

 중간에 Client가 끼어들어도 처음부터 데이터를 받을 수 없고

 중간부터 받게 됨


○ IP 주소체계(D class IP주소)

224.0.0.0 ~ 224.0.0.255

IETF에서 관리용으로 사용되는 대역 (RIP, EIGRP, OSPF 등)

224.0.1.0 ~ 238.255.255.255

실제 인터넷에서 Multicast를 사용한 기관이나 기업에게 할당

232.0.0.0 ~ 232.255.255.255

PIM 기술을 위해 사용하는 대역

233.0.0.0 ~ 233.255.255.255

하나의 AS 내에 전파를 원할 때 사용하는 대역

239.0.0.0 ~ 239.255.255.255

기관이나 기업 내부에서 사용할 수 있는 사설 Multicast 주소

* 224.0.0.1 : 현재 서브넷에 존재하는 Mulicast가 가능한 모든 host를 지칭

* 224.0.0.2 : 현재 서브넷에 존재하는 Multicast가 가능한 모든 라우터를 지칭


○ 프로토콜

어떤 장비와 Multicast 정보를 교환하느냐에 따라 프로토콜 구분

- IGMP: host와 라우터 간

- CGMP, IGMP Snooping: 라우터와 스위치간

- Multicasting Routing Protocol: 라우터와 라우터간


○ Unicast / Broadcast / Multicast 차이

- Unicast: 하나의 송신자가 다른 하나의 수신자로 데이터를 전송하는 방식 (일반적인 인터넷 응용프로그램이 채택)

- Broadcast: 하나의 송신자가 같은 서브네트워크 상의 모든 수신자에게 데이터를 전송하는 방식

- Multicast: 하나 이상의 송신자들이 특정한 하나 이상의 수신자들에게 데이터를 전송하는 방식(인터넷 화상 회의 등)

 => 다중 수신자에게 동일한 데이터를 전송할 경우 유니캐스트 사용시 데이터패킷을 다수 사용자에게 여러 번 전송하기 때문에 회선부담, 브로드캐스트 사용시 하나의 트래픽으로 보내지만 No Reciever 입장에서는 불필요 트래픽 수신


(참고: http://www.terms.co.kr/multicast.htm

http://unabated.tistory.com/entry/Multicast-1-%EA%B8%B0%EB%B3%B8-%EC%9D%B4%EB%A1%A0

https://wiki.kldp.org/wiki.php/LinuxdocSgml/Multicast-HOWTO)

'네트워크' 카테고리의 다른 글

Routing  (0) 2017.05.06
어드레스 클래스  (0) 2017.04.14
TTL / IPv4, I.Pv6  (0) 2017.04.01
Port  (0) 2017.03.11
MIME  (0) 2017.02.26
:
Posted by SK
2017. 5. 6. 09:31

Routing 네트워크2017. 5. 6. 09:31

라우팅이란 라우터가 자신과 연결된 다른 라우터를 찾아 최종 목적지까지 연결하는 과정이다. 라우팅에는 동적 라우팅과 정적 라우팅이 있다. 

정적 라우팅은 네트워크 관리자가 경로를 목적지별로 직접 지정해 두는 것인데, 경로가 미리 입력되어 있기 때문에 CPU 부담이 적고 라우터 간 대역폭을 낭비하지 않는 다는 장점이 있지만, 어떤 라우터간에 연결되어 있는지 파악해야하는데다 추가 회선이 필요할 때 새로 설정해주어야 하는 불편함과 현재 설정한 회선에서 연결이 불능에 빠지는 경우 자동으로 새로운 경로를 찾지 않는다는 단점이 존재한다.

반면, 동적 라우팅은 라우팅 프로토콜을 사용하여 자동으로 경로를 수집하여 라우팅 테이블을 설정하는 것이다. 이 프로토콜에는 여러가지가 있다.

그 중 하나는 RIP(Routing Information Portocal)로, 목적지까지의 거리를 살펴보고 홉(hop)수가 적은 경로를 선택한다. 구성이 간단한 LAN과 같은 네트워크에 적합하다. 아래 그림에서 데이터가 도착해야 하는 목적지가 라우터5라면, 라우터1을 거쳐 라우터3, 라우터5로 가는 것이 가장 유리한 경로라고 할 수 있다.

다음은 OSPF(Open Shortest Path First)로, 통신상태 정보를 맵(map)으로 관리하면서 상태가 좋은 경로를 선택하는 방식이며, 복잡하고 변화가 다양한 네트워크에 적합한 형태다. 만일 아래와 같이 라우터2번과 라우터4번 사이에 고속회선이 적용되어 있다면 데이터는 라우터1, 라우터2, 라우터4를 거쳐 라우터5로 향하는 것이 유리할 수 있다. 즉, 라우터1라우터2의 상태가 '좋다'라는 정보를 보유하고 있어야 한다.


마지막으로 BGP(Border Gateway Protocol)가 있는데, 경로의 거리뿐만 아니라 경유 AS(Autonomous System 자율시스템)를 포함하여 경로 정보를 생성하는 형식으로 규모가 큰 네트워크에서 몇 개의 네트워크를 묶어 AS단위로 관리하는 것이다. 네트워크 전체 경로를 탐색하는 것이 아니라 AS같이 큰 덩어리 단위로 이동하여 원거리 컴퓨터와 빠르게 통신하는 것이 목적이다. 


'네트워크' 카테고리의 다른 글

멀티캐스트  (0) 2019.01.28
어드레스 클래스  (0) 2017.04.14
TTL / IPv4, I.Pv6  (0) 2017.04.01
Port  (0) 2017.03.11
MIME  (0) 2017.02.26
:
Posted by SK
2017. 4. 14. 21:31

어드레스 클래스 네트워크2017. 4. 14. 21:31

하나의 IP 안에서 네트워크 부와 호스트 부를 고정한 것을 어드레스 클래스라고 한다.

물리적으로 해당 네트워크가 어디에 속해 있는지 쉽게 알 수 있다.

인터넷이 급속도로 발전하면서 클래스로 나누는 것이 불편하게 되었고, 

CIDR (Classless Inter-Domain Routing)라는 방식이 생겼다고 하는데 이부분은 나중에 찾아봐야겠다.


A Class : 0.0.0.0 ~ 127.255.255.255

네트워크부 8비트

호스트부 24비트

0

126개 네트워크

1677만 장비

B Class : 128.0.0.0 ~ 191.255.255.255 

네트워크부 16비트

호스트부 16비트

1

0

6천 네트워크

6 5천 장비

C Class : 192.0.0.0 ~ 233.255.255.255 

네트워크부 24비트

호스트부 8비트

1

1

0

209만 네트워크

254 장비



D Class : 224.0.0.0 ~ 239.255.255.255 (멀티캐스트 전용)

네트워크부 32비트

1

1

1

0

멀티캐스트 2 6천만 그룹


'네트워크' 카테고리의 다른 글

멀티캐스트  (0) 2019.01.28
Routing  (0) 2017.05.06
TTL / IPv4, I.Pv6  (0) 2017.04.01
Port  (0) 2017.03.11
MIME  (0) 2017.02.26
:
Posted by SK
2017. 4. 1. 09:39

TTL / IPv4, I.Pv6 네트워크2017. 4. 1. 09:39

반년 전 즈음에 서버와 네트워크 장비를 바꾸면서 WAS와 BI서버 간에 UDP통신이 되지 않는 현상이 있었다. 

WAS 1번은 되는데 WAS 2번만 안되는 지라 한 참 헤맸었는데, 그 때 의심했던 사항 중 하나가 TTL이었다. 

(실제로는 새로 들여온 라우터 장비의 특정 설정이 자사의 특수기능 사용을 위해서 멀티캐스트 대역을 막는 것이 원인이었던 걸로 기억한다.)


TTL(Time To Live)란 인터넷 프로토콜 헤더에 설정하여 패킷의 생존기간을 규정하는 것이다. 

패킷이 목적지를 찾지 못할 경우 네트워크를 떠돌면서 네트워크의 혼잡도를 증가시키게 되는데, 

TTL을 설정하여 일정 시간(혹은 라우터 수)이 지나면 패킷을 폐기시킬 수 있다.

예를 들어 TTL 값을 4로 설정했다면 라우터를 하나 통과할 때마다 TTL 값이 1씩 감소(혼잡한 라우터는 그 이상도 가능)하여,

4번째 라우터에 이르렀을 때 만일 해당 라우터가 목적지가 아니라면 패킷이 폐기된다.

TTL은 8비트 크기로 IPv4에서는 20바이트 중 8번째, IPv6에서는 40바이트 중 8번째 바이트에 할당 된다.


IPv4와 IPv6는 상호 호환이 되지 않는데, 이 때문에 하나의 장비에 IPv4와 IPv6의 어드레스를 할당하여 모두 사용(듀얼스택)할 수 있게 하거나

IPv6 패킷이 IPv4네트워크를 지날 때, IPv4 패킷으로 감싸(터널링)주는 형태로 활용하고 있다.

'네트워크' 카테고리의 다른 글

Routing  (0) 2017.05.06
어드레스 클래스  (0) 2017.04.14
Port  (0) 2017.03.11
MIME  (0) 2017.02.26
POP(Post Office Protocol)  (0) 2017.02.25
:
Posted by SK
2017. 3. 11. 11:37

Port 네트워크2017. 3. 11. 11:37

포트는 컴퓨터 내부에서 데이터를 어느 어플리케이션으로 보낼지 결정할 수 있게 해준다. 포트는 다양한 범위를 가지는데 아래와 같다.


ㅁ 포트 범위

 0 - 1023

1204 - 49151 

49152 - 65535 

 well known port

registered pot

dynamic port


 - well known port : 서버 프로그램이 수신 대기시 사용하는 포트로, 

                           21(FTP), 22(SSH), 23(TELNET), 25(SMTP), 80(HTTP), 110(POP3) 등이 있다.

 - registered port : 벤더가 할당 받아 사용하는 포트다.

 - dynamic port: 클라이언트 프로그램이 사용하는 포트로 랜덤으로 비어있는 포트를 할당받는다.


클라이언트와 서버 간 통신시에 다수의 클라이언트가 여러 어플리케이션에 리퀘스트를 보낼 텐데, 

그 때 서버 입장에서는 어느 클라이언트로 리스폰스를 되돌려 보낼 것인지가 중요하다. 

이 때 클라이언트 측 포트와 서버 측 포트를 조합해서 클라이언트를 식별하는데 사용한다.

'네트워크' 카테고리의 다른 글

어드레스 클래스  (0) 2017.04.14
TTL / IPv4, I.Pv6  (0) 2017.04.01
MIME  (0) 2017.02.26
POP(Post Office Protocol)  (0) 2017.02.25
SMTP(Simple Mail Transfer Protocol)  (0) 2017.02.18
:
Posted by SK
2017. 2. 26. 09:47

MIME 네트워크2017. 2. 26. 09:47

메일에 텍스트 외에 데이터를 추가하기 위해서 만든 형식으로, HTTP에서 데이터 송수신시에도 이용한다.

여기서 텍스트는 US_ASCII(7bit)만을 표현할 있기 때문에 한글도 MIME형식으로 표현해야 한다.

 

Content-Type )

 - multipart / mixed : 텍스트 본문 + 첨부파일

 - image / jpeg : jpeg 이미지 파일

 - text / plain : 텍스트

'네트워크' 카테고리의 다른 글

TTL / IPv4, I.Pv6  (0) 2017.04.01
Port  (0) 2017.03.11
POP(Post Office Protocol)  (0) 2017.02.25
SMTP(Simple Mail Transfer Protocol)  (0) 2017.02.18
Cookie  (0) 2017.02.12
:
Posted by SK
2017. 2. 25. 17:41

POP(Post Office Protocol) 네트워크2017. 2. 25. 17:41

클라이언트

접속요청 →

메일서버

 

OK

 

 

사용자명

 

 

OK

 

 

비밀번호

 

 

OK

 

 

STAT / LIST / UIDL

 

 

메일 건수, 용량

 

 

메시지 번호

 

 

메일 데이터

 

 

종료 →

 

 

OK

 

 

POP사용시 클라이언트가 메일을 수신하면 서버에 보관된 메일은 삭제된다.

때문에 동일한 메일을 향후에도 확인하기 위해서는 클라이언트  측에서 메일을 보관해야 한다.

, 메일을 다운로드 받은 컴퓨터에서만 해당 데이터를 열람할 있다.

 

만일 어디서든 다른 장치로부터 메일을 읽고 싶다면, IMAP(Internet Message Access Protocol) 사용해야 한다.

IMAP POP 다르게 메일 데이터를 다운로드 받는 것이 아니라 서버 자체에서 읽는 방식으로

메일 전체를 다운로드 하는 것이 아니라 메일 제목만 먼저 보여주고 필요한 선택하여 다운로드하기 때문에, 속도면에서 빠르다

따라서 모바일이나 태블릿같은 이동기기에서 사용하기 적합하다.

클라이언트 입장에서는 데이터 접근과 보관이 용이하나, 서버 입장에서는 POP 비해 부하가 걸리는 셈이다.

'네트워크' 카테고리의 다른 글

Port  (0) 2017.03.11
MIME  (0) 2017.02.26
SMTP(Simple Mail Transfer Protocol)  (0) 2017.02.18
Cookie  (0) 2017.02.12
GET / POST  (0) 2017.02.04
:
Posted by SK
2017. 2. 18. 12:10

SMTP(Simple Mail Transfer Protocol) 네트워크2017. 2. 18. 12:10

Client Mail Server 메일을 보낼 사용하는 프로토콜이다.

HTTP 다르게 상태를 가지는 Stateful 프로토콜이기 때문에, 전송종료 명령이 있어야 한다.

 

동작방식은 아래와 같다.

 

클라이언트

접속요청 →

메일서버

 

OK

 

 

Mail from(송신자 주소) →

 

 

OK

 

 

Rcpt to(수신자 주소) →

 

 

OK

 

 

메일 데이터 →

 

 

OK

 

 

종료 →

 

 

OK

 

 

메일 서버간 메일 중계시에도 SMTP 사용한다.

 

SMTP POP처럼 인증체계가 없으므로 스팸메일 등에 악용될 있다.

따라서 POP서버의 인증 기능을 활용하거나, 서버의 SMTP 접근을 제한하거나, SMTP Auth(인증체계가 추가)를 사용해야 한다.

'네트워크' 카테고리의 다른 글

MIME  (0) 2017.02.26
POP(Post Office Protocol)  (0) 2017.02.25
Cookie  (0) 2017.02.12
GET / POST  (0) 2017.02.04
HTTP  (0) 2017.01.27
:
Posted by SK
2017. 2. 12. 19:46

Cookie 네트워크2017. 2. 12. 19:46

HTTP는 무상태 프로토콜이므로 요청자에 대한 정보를 저장할 수가 없다.

때문에 인터넷 쇼핑몰에서 장바구니에 물품을 담고 그 상태를 유지시키려면, 특수한 방법이 필요하다.

즉, 동일한 요청자에 의한 요청인지 확인해야 하며, 이를 위한 기법으로 쿠키를 사용한다.

 

사용자가 웹서버로 처음 요청을 보내면 웹서버는 응답 시에 쿠키를 함께 보낸다.

여기에는 쿠키의 유효기간, 보낼 사이트 제한 등의 정보가 담겨있다.

  

, 사용자가 웹서버에 다시 요청을 넣게 되면 사용자 측에 있던 쿠키정보가

요청 헤더에 포함되어 전송된다. 웹서버에서 사용자를 구분할 있게 되는 것이다.

보안 정보는 서버에 저장하되 동일 사용자 식별정보 등에만 한정하여 쿠키를 사용해야한다.

'네트워크' 카테고리의 다른 글

POP(Post Office Protocol)  (0) 2017.02.25
SMTP(Simple Mail Transfer Protocol)  (0) 2017.02.18
GET / POST  (0) 2017.02.04
HTTP  (0) 2017.01.27
네트워크(TCP/IP) 계층 모델  (0) 2017.01.21
:
Posted by SK
2017. 2. 4. 12:01

GET / POST 네트워크2017. 2. 4. 12:01

GET 정보 요청 사용되고, POST 정보를 저장하거나 변경 사용한다.

요청 내용은 아래와 같다.

 

GET

GET /serache?query=XXX  HTTP 1.1

Header

>> 결과 웹페이지 URL : http://searchservice.com/search?query=XXX

           * URL 입력폼 내용이 포함되어 있어서 단계 페이지로 이동하거나,

              북마크(즐겨찾기) 등의 기능을 사용할 있다.(정적 웹페이지처럼 다룰 있다)

 

POST

POST /sendform.php HTTP 1.1

Header

Message Body:

name=sample&mail=sample.com

          >> POST내용에 따라 HTTP 상태코드가 201(created), 204(no content) 같은

               나오지 않을까 싶은데...개발할 항상 웹페이지와 DB 바로 확인하기 때문에

               신경 본적이 없다.

 

         * 입력 폼이 GET방식과 달리 육안으로 노출되지 않지만,

             전송 메시지를 해석하면 정보 획득이 가능하다.

             따라서 보안을 위해서는 HTTPS 사용하여 데이터를 암호화해야 한다.


'네트워크' 카테고리의 다른 글

POP(Post Office Protocol)  (0) 2017.02.25
SMTP(Simple Mail Transfer Protocol)  (0) 2017.02.18
Cookie  (0) 2017.02.12
HTTP  (0) 2017.01.27
네트워크(TCP/IP) 계층 모델  (0) 2017.01.21
:
Posted by SK