full duplex와 half duplex 차이점에 대해...

coco의 이미지

안녕하세요?

오늘은 오랫만에 날씨가 참 화창한거 같습니다.
책을 보다 문득 생각나는 질문이 있어서 이렇게 글을 올립니다.

질문의 내용은...
통신을 구현하거나 시뮬레이션할때,
두 노드간의 링크를 full duplex와 half duplex로 구현하는 것에 있어서 차이점이 무엇인지 궁금하네요.

제가 아는 full duplex는 동시에 양방향 통신이 된다는 것, 그리고 half duplex는 단방향 통신이라는 것 말고는 잘 모르겠습니다.

학교 논문쓸때 시뮬레이션 소스보면 어떤 노드간에는 half duplex로 또 어떤 노드에는 full duplex로 구현하였던데, 이런 차이점 말고 다른 차이점을 아시는 분은 설명좀 부탁 드릴께요.

감사합니다.

kyong의 이미지

coco wrote:
안녕하세요?

오늘은 오랫만에 날씨가 참 화창한거 같습니다.
책을 보다 문득 생각나는 질문이 있어서 이렇게 글을 올립니다.

질문의 내용은...
통신을 구현하거나 시뮬레이션할때,
두 노드간의 링크를 full duplex와 half duplex로 구현하는 것에 있어서 차이점이 무엇인지 궁금하네요.

제가 아는 full duplex는 동시에 양방향 통신이 된다는 것, 그리고 half duplex는 단방향 통신이라는 것 말고는 잘 모르겠습니다.

학교 논문쓸때 시뮬레이션 소스보면 어떤 노드간에는 half duplex로 또 어떤 노드에는 full duplex로 구현하였던데, 이런 차이점 말고 다른 차이점을 아시는 분은 설명좀 부탁 드릴께요.

감사합니다.

간단히 좀 아는 척을 하면,
보통 ethernet 환경에서 full duplex mode로 돌려면 두 컴이 switch hub에
twisted-pair로 연결돼 있어야 합니다. full duplex는 일반적인 컴퓨터 환경에
서는 차이가 없습니다. 왜냐면 통신 프로토콜 자체가 send 하고 난 뒤 ack를
기다리는 구조로 설계돼 있어 데이터 양이 asymmetric하죠. 그래서 별 효과가
없습니다.
그러나 backbone가 같은 데서는 데이터 양이 symmetric 해서 효과가 크다
는군요.
자세한 것은 802.3x 관련 표준 문서를 보시기 바랍니다.

Necromancer의 이미지

full duplex는 P2P나 다름없습니다.
같은 ethernet LAN에 연결된 각각의 컴퓨터들은 오로지
스위칭허브하고만 데이터를 주고받습니다. (NIC끼리 연결된 경우는 NIC끼리)
다만 스위칭허브 쪽에서
데이터의 목적지를 판별하는 기능이 있어서 목적지 위치에 따라 스위칭허브가
특정 포트로 데이터를 날려주고, 또 어느 한쪽 포트로 너무 많은 데이터가 몰리거나
하는 경우에는 이를 조정하기도 합니다. 송신채널과 수신채널도 분리되어 있고요.

half는 기존 ethernet 방식대로 같은 LAN에 물린 컴퓨터 모두가 송수신 채널을
하나로 공유합니다. 허브는 아무 역할 하는것도 없고요 (단지 랜선 몇개를 하나로
연결했다고 생각하시면 됩니다) 따라서 둘이 동시에 보내다가 충돌나는 경우가
얼마든지 생기고요.

Written By the Black Knight of Destruction

mach의 이미지

Half Duplex
시골이나 골목등에서 볼 수 있는 왕복 1차선 도로를 예를 들 수 있습니다.
차량이 한 쪽에서 출발하면, 다른 한쪽은 진입불가입니다.
즉, 한쪽에서만 갈 수 있고 다른 한쪽은 갈 수 없게 되겠지요.
그러나, 양쪽으로 가는 방법이 존재는 하고 있음을 알 수 있습니다.

Full Duplex
왕복 2차선에 비교할 수 있습니다. 한쪽에서 출발하는 동안, 반대편에서도
출발이 가능합니다.
이 역시 양쪽으로 가는 방법이 존재합니다.

Simplex
1차선 일방통행으로 비유할 수 있습니다. 한쪽에서만 갈 수 있습니다.
인간세계에서야 무법(?) 운전으로 역류할 수 있겠지만, 전산에서는 불가합니다.

물리네트워크에서는 위의 3가지 방식의 네트워크를 지원합니다.
TCP/IP와 같은 논리 네트워크에서는 하부구조가 Half duplex이던지 Full Duplex이던지 간에 Full Duplex를 지원하게 만들어져 있습니다.
물론 물리적으로 simplex이면 TCP/IP를 사용할 수 없게됩니다.

* 이와 더불어 유한한 회선(라인, 선로)을 공유하는 메카니즘인 multiplexing에
대해 알아두시면 좋을듯합니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.