서버와 포트의 개념

in #kr6 years ago


(대문은 @carrotcake 님께 의뢰하였습니다)

다음편이라고 해놓고는 12일만에 돌아온
🔗ip 주소의 개념
후편입니다-ㅅ-;

다까먹었을 저번편을 요약해보면
네트웤에 연결된 컴터들은 서로를 찾을 수 있게
ip 주소라는 것을 가지고 있으며
그 주소만 있으면 누구든지 다른 이의 컴퓨터에
찾아갈 수 있다..

였습니다.

요번엔 서버에 대해서 알아보죠.

ip 주소인 125.209.222.142 이걸 브라우저에 치면
네이버 웹페이지가 뜹니다.
이것은 네이버측의 컴퓨터에 방문했더니
네이버 컴터가 웹페이지를 똭 내놨다는 뜻입니다.

그럼 딴데는?

125.209.222.143
125.209.222.144
125.209.222.145

이것들도 ip 일진데 브라우저에 쳐도 아무것도
뜨지 않습니다.

그렇다고 찾아가지 못한 것은 아닙니다.

찾아는 갔지만 상대가 아무런 서비스도 하지 않아서
암것도 없을 뿐이죠.
반면

네이버측의 컴퓨터는 웹서비스를 오픈 중이기에
찾아갔을때 서비스를 받을 수 있었던 겁니다.

이렇게 누가 찾아올 것을 대비해서
서비스를 제공하는(serve) 컴퓨터를 서버(server)라고 합니다.

홈페이지를 제공하고 보여준다면 웹서버,
게임을 제공한다면 게임서버,
토렌트파일을 제공하면 토렌트서버가 되는 것이죠

토렌트는 띄워보신적 있을겁니다.
그럼 바로 토렌트 서버가 되게 됩니다.
어? 서버 만들기 쉽죠?
근데 사실 서버라는 거 자체를 매일 접하고 있습니다.

여러분의 일반프로그램을 생각해보세요
실행시켜서 띄워두다가 여러분의 요청이 들어가면
바로 서비스를 실천하죠

예를들어 동영상 프로그램을 띄운다면
여러분이 '플레이' 버튼 누를때까지
계속 서비스를 줄려고 대기타고 있는겁니다.

이 잉간이 왜 버튼 안누르나.. 하면서 말이죠.

이렇게 보면 다른 프로그램도 전부 '서버'라고 볼 수 있죠.
서비스 줄려고 항시 대기타고 있으니까요.

차이점은 하나뿐입니다.
컴터앞에 붙어있는 잉간 하나만 상대하느냐
아니면 외부에서 접속해오는 온갖 잉여들과 사이코들을
상대해주느냐

즉, 네트워크를 통해오느냐 마느냐 입니다.

그리고 그 차이는 엄청 큽니다.
여러분 한명 상대하는 것만으로도 컴터들이
스트레스로 급노화 현상을 겪는데

수없이 많은 잉간들과 사이코들을 상대로 서비스한다고
해보세요. 컴터 터지죠.
그래서 본격적 서버들은 각종 변태들을 상대하기 위해
정말 많은 세팅을 해줘야됩니다. 어디로 튈지 모르니까요

하지만 처음부터 그럴 목적이 아니라면
그렇게 까진 어렵지 않습니다.

예를들면 그냥 자기자신이 원격저장공간으로 쓴다거나
원격음악 스트리밍 서비스 같은걸 자기 컴터로 할려고
한다거나 하는 것들 말이죠.

그리고 그것보다도 더더욱 쉬운 것은
전용프로그램을 띄우는 것입니다.

위에서 얘기한 토렌트 프로그램 얘기인데..

토렌트를 띄우면 여러분의 컴퓨터는 파일서버가 됩니다.
단 정확히 말하면 여러분의 컴퓨터가 아니라
토렌트 프로그램이 서버 프로그램으로 작동하는거죠.

근데 파일을 받을려고 ip 주소를 가지고 이쪽컴에 찾아와도
그것만으로는 토렌트 프로그램을 찾을 수 없습니다.
왜냐면

컴퓨터에 들어와서 보니 온갖 프로그램들이
서비스 노동중이라 내가 받을 서비스를 주는 프로그램이
뭔지 알수가 없거든요


(다른이가 내컴 주소에 찾아와서 보는 풍경)

그래서 이런 시장바닥의 혼란을 피하기 위해서
미리 마중을 나가기로 약속을 합니다.

'3번 출구에서 만나자' 이런식으로

이때 이 '3번 출구'를 양키애들은 포트(PORT)라고 부릅니다

용어 만들때는 배를 더 많이 썼나보죠-ㅅ-

그래서 우리가 다른 이들의 서버에 찾아갈땐
아이피 + 포트번호를 같이 써야합니다.

http://000.000.000.000 : 80
이런 형태를 어딘가에서 한번은 봤을 겁니다.

이중에서 앞은 아이피고 뒤에 붙은 :80 이것이
포트번호를 뜻하죠. 웹서비스들은 대부분 80번 포트에서
만남이 정해져 있습니다. 그래서 웹서비스를 위한
브라우저들은 편의를 위해 끝에 포트번호를 안써도
자동으로 80번 포트를 붙여서 찾아갑니다.

물론 수동으로 쓸 수도 있죠.
상대가 웹서비스를 만들었는데 포트번호를 80이 아닌
다른 걸로 정했다면 반드시 그 번호를 써줘야 제대로
찾아가게 됩니다.

다시 토렌트로 돌아가서 토렌트 역시

실행과 동시에 포트를 열게되고 그것을
토렌트 플그램끼리 아이피랑 포트를 전달하게 됩니다.

그럼 어떤이가 필요한 파일을 내가 가지고 있게 되면
저쪽 토렌트 프로그램이 이쪽의 ip주소랑 포트번호로
접속해서 가져가게 되는 것이죠.

그럼 여기서 나올 수 있는 의문!
만약 내 주소에 저 포트를 브라우저에 입력하면
어떻게 될까요


결과는 거부됩니다.

웹서비스가 포트에 마중나간건 웹브라우저가 올것을
예상해서죠. 근데 왠 토렌트 프로그램이 떡하니 찾아왔으니
거부하는 것입니다.


단순히 찾아가는 것만으론 안되고
상대 마중과 짝짜쿵이 맞아야만 접속해서
서비스를 받는 것이죠.

하지만 변장은 얼마든지 가능하므로
방화벽이라는 검색대를 세워 나쁜 놈들을 배제하고
포트도 몇개 빼곤 전부 막아버리는 것이 기본입니다.

요약하면
상대 컴터를 찾아가는 건 ip
찾아가서 누굴 만나는 건 port
서비스를 받을 수 있게 준비하고 있는건 서버 플그램
우리도 띄우는 것까진 어렵지 않음.

다음에는 내 서버를 외부에서 접속하는 것을 방해하는
공유기와 내부IP 그리고 그것을 뚫어버리는
포트포워딩에 대해서 알아봅시다 +_+/

Sort:  

와우! 설명도 훌륭하지만 중간중간 짤이ㅋㅋㅋㅋ

저의 옛날 스타일이 ㅎㅎ;

재밌습니다~ㅋ

오 쉬운설명 감사합니다.
ip port

감사합니다 ^^

짤이 재밌네요....ㅋㅋ

사실 짤 찾는게 엄청 시간 잡아먹죠..;ㅁ;

언제나 유익한 시간!ㅎㅎ

스쿨님은 고수잖슴=ㅅ=

쉽게 설명 잘하는 사람이 고수죠.
막 전문용어 쓰면 멀어집니다. ㅋㅋ 도움도 안돼구요.
쉽게 설명하긴 최곱니다.^^

고수는 아니지만 ㅎㅎ
초보라서 더 눈높이에 맞게 설명할 수 있는거 같아요
저거.. 벼락치기거든요0ㅅ0

지금도 뉴비지만.. 뉴비시절 제가 포스팅 많이 본 기억이 있어요^^
프사와 대문이 기억에 확 남거든요
벼락치기를 그정도로 하신다면.. 절대 고수라 칭호를 변경하겠습니다.
ㅋ 감사합니다.

본 지 오래되서 기억이 잘...ㅋㅋㅋㅋ

제가 포스팅이 띄엄 띄엄 그렇습니다 ㅎㅎ

중요한건 내용인데 설명의 꿀잼에 자꾸 빠지는듯 해요 ^^

ㅎ ㅎ감사합니다

대박사건!!

요즘은 프로그램 설치만 하면

서비스 포트가 열려요. ㅜㅠ

그리고 방화벽 로그를 보면...

알 수 없는 데이터가 각각 다른 사이즈로......

송신됩니다. ㅜㅠ

뭔 데이터를 가져갈까요...?

SSL은 더 알 길이 없죠. ㅜㅠ

흠..-ㅅ-.. 그래서 해킹 플그램이 무섭죠. 일단 설치만 되면 슝슝

Coin Marketplace

STEEM 0.30
TRX 0.11
JST 0.033
BTC 64106.00
ETH 3129.71
USDT 1.00
SBD 4.16