본문 바로가기

네트워크

(7)
회선 이중화 회선의 이중화란 어떤 source에서 destination으로 프레임을 보냈을 때 갈 수 있는 경로가 2개 이상인 것을 의미합니다. 이중화를 하게 되면 문제점이 있습니다. 스위치에서 동작하는 부분을 확인해 보겠습니다. L2 스위치에서는 Broadcast 트래픽, Multicast 트래픽 모두 Broadcast 트래픽으로 간주합니다. 이러한 프레임은 수신한 포트를 제외한 모든 포트로 Flooding 됩니다. 아래와 같은 구성의 스위치와 PC가 있다고 생각해 봅시다. PC0 → PC1 로 패킷을 보내보겠습니다. Switch1 번은 0,2번 스위치로 패킷을 보냈습니다. 스위치 0번은 스위치 3번으로 패킷을 보내고 이를 받은 스위치 3번은 스위치 2번, PC1로 패킷을 보냅니다. 스위치 2번은 스위치 3번으로 ..
L2 네트워크 L2 네트워크 패킷 트레이서를 활용하여 스위치 설정을 해보겠습니다. 가장 먼저 임의의 스위치를 두면 아래 그림과 같이 Mac table에 아무 데이터가 없음을 볼 수 있습니다. 다음으론 스위치에 PC3대를 연결하고 각각 아이피를 설정까지 해보았습니다 3개의 PC가 Mac table에서 조회되는 모습을 확인할 수 있었습니다. 스위치는 Mac table주소를 기본적으로는 300초까지만 가지고 있습니다. 이런 시간을 Aging time 이라고 합니다. - Aging time: 스위치가 Mac table을 가지고 있는 시간 Aging time을 짧게하는 경우 Flooding이 자주 일어나게 되어 효율적이지 않습니다. 그러나, 너무 길게 하면 Mac table size 가 증가하는 현상이 발생하게 됩니다. L2 ..
[통신] Http 프로그래밍, socket 프로그래밍 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신을 구현하기 위해서는 http 프로그래밍과 socket 프로그래밍을 하는 방법이 있다. 이 두가지 방식의 차이가 무엇인지에 대해 작성해 보겠다. 1. 소켓(Socket) 프로그래밍 서버- 클라이언트 간 연결이 유지되는 양방향 프로그래밍 방식이며 실시간 데이터를 주고 받는 경우에 사용된다. 소켓 프로그래밍은 Server, Client 간 특정 port를 통해 연결을 유지하고 실시간으로 양방향 통신을 할 수 있는 방식이다. Server도 Client에게 요청을 보낼 수 있고 계속 연결을 유지하는 연결 지향형 방식이기 때문에 실시간 통신이 필요한 경우에 자주 사용된다. 채팅과 같이 즉각적으로 정보를 주고 받는 경우에 사용한다. 2. Http 프로그래밍 클라..
통신종료 서버와 클라이언트는 OS 의 프로토콜 스택을 통해 통신을 하고 있습니다. 오늘은 소켓을 말소하는 과정에 대해서 설명드리겠습니다. 프로토콜에 따른 종료 요청 HTTP1.0 프로토콜을 사용하는 경우 서버측에서 응답 데이터를 보내고 나면 데이터 보내기가 완료된 상태이기 때문에 서버측이 연결 끊기 단계에 들어갑니다. HTTP1.1 프로토콜을 사용하는 경우 클라이언트가 계속 다음 리퀘스트 메시지를 보내도 좋게 되어 있기 때문에 클라이언트측에서 연결 끊기 단계에 들어갈 수 있습니다. Server와 Client의 연결 끊기 서버측이 먼저 연결 끊기 단계에 들어간다고 생각하고 설명 드립니다. 서버측의 어플리케이션이 먼저 Socket 라이브러리의 close를 호출합니다. 서버측 프로토콜 스택이 TCP 헤더를 만들고 컨트..
TLS/SSL SSL(Secure Sockets Layer) 프로토콜과 TLS(Transport Layer Security)에 대해 정리해보겠습니다. 이 두가지 프로토콜은 암호화와 보안을 제공하여 인터넷 상거래를 가능하게 해 주었습니다. 특히 TLS는 브라우저 같은 클라이언트가 공개된 인터넷 망을 통해 웹서버와 커뮤니케이션할 때 여러가지 보안 메커니즘을 제공하여 원하는 상대와 안전한게 연결될 수 있도록 도와주고 있습니다. HTTP가 SSL/TLS를 이용하여 HTTPS를 제공하고 있습니다. SSL SSL은 1990년대 중반 넷스케이프가 개발한 것으로 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜입니다. SSL1.0, 2.0을 거쳐 출시된 3.0은 이후 프로토콜들의 기반을 제공하였습니다. TLS SSL 프로토..
OAuth API 이용 시 인증과 리소스에 대한 권한부여는 필수사항입니다. 인증과 권한부여의 대표적인 방법 중 하나가 OAuth 입니다. 1. 정의 OAuth란 Open Authorization, Open Authentication 을 뜻하는 것으로 어플리케이션(페이스북, 구글, 트위터) 유저의 비밀번호를 Third party 앱에 제공하지 않고 인증, 인가를 할 수 있는 open standard protocol입니다. OAuth인증을 통해 어플리케이션 API를 유저 대신 접근할 수 있는 권한을 얻을 수 있습니다. 기존 방식 - 외부 사이트와 인증 기반의 데이터 연동 시 인증 방식의 표준이 없다. - 기본 인증인 id, pw를 사용하여 인증 - 사용자의 pw 노출 우려가 큰 보안상 취약한 구조 OAuth 1.0 기..
LDAP 위키백과에 따르면, 경량 디렉터리 액세스 프로토콜(Lightweight Directory Access Protocol; LDAP)은 TCP/IP 위에서 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜이다. 디렉토리는, 논리, 계급 방식 속에서 조직화된 비슷한 특성을 가진 객체들의 모임이다. 예로는 전화번호부를 들 수 있는데 가나다 순의 일련의 이름을 가지고 있고 이름마다 전화번호와 주소가 포함돼 있다. 이런 기본 설계로 LDAP은 인증을 위한 다른 서비스에 의해 자주 사용된다. 디렉터리 서비스란, 분산된 네트워크 관련 자원 정보를 중앙의 저장소에 통합시켜 놓은 환경. 즉, 사용자는 중앙의 저장소를 통해 원하는 네트워크자원에 대한 정보를 '자동으로' 취득하여 그 자원에 접근할 수 있게 됨 LDAP 디렉터..