|
||||||||
|
||||||||
|
|
Công Cụ | Xếp Bài |
30-12-2009, 04:45 PM | #1 |
Guest
Trả Lời: n/a
|
Full Duplex và Half Duplex là gì? Cách cấu hình Full Duplex trong Linux
Full Duplex và Half Duplex là gì? Cách cấu hình Full Duplex trong Linux 1. Để dễ hình dung sự khác nhau và bản chất của Fullduplex và Halfduplex tôi xin đưa ra ví dụ như thế này: -Sự truyền Fulldupex tương tự như khi 2 người gọi điện thoại cho nhau. Trong cùng 1 lúc thì 2 người đều có thể vừa nói vừa nghe. -Sự truyền Halfduplex thì tương tự như 2 người liên lạc với nhau qua máy bộ đàm. Tại 1 thời điểm chỉ có 1 người có thể nói còn người kia thì chỉ có thể nghe, người này nói xong thì người kia mới có thể nói được. 2. Halfduplex(hd) có thể dịch là bán song song còn fullduplex(fd) có thể dịch là song song. hd coi như là bạn chỉ mắc có 1 dây dực liệu giữa 2 điêm A và B do đó tín hiệu tại một thời điểm chỉ có thể truyền hoặc từ A hoặc từ B. Đối với fd bạn đã mắc 2 dây dữ liệu giữa A và B. Trong đó 1 dây truyền dữ liệu đi và một dây truyền dữ liệu về. Vì lý do này mà khi thiết kế các bộ giao tiếp tại A và B cần lưu ý đến việc đầu A hoặc B sẽ hoạt động ở chế độ đơn công hay song công mà tính toán cho hợp lý. 3. Single duplex la chi co the truyen hoac chi nhu song dai tieng noi chang han Half Duplex vua co the truyen hoac vua co the nhan nhung khong cung mot thoi diem con Full Duplex vua co the truyen hoac vua co the nhan trong cung mot thoi diem 4. Cách cấu hình Using mii-tool One of the original Linux tools for setting the speed and duplex of your NIC card was the mii-tool command. It is destined to be deprecated and replaced by the newer ethtool command, but many older NICs support only mii-tool so you'll need to be aware of it. Issuing the command without any arguments gives a brief status report, as seen in the next example, with unsupported NICs providing an Operation not supported message. NICs that are not compatible with mii-tool often will still work, but you have to refer to the manufacturer's guides to set the speed and duplex to anything but auto-negotiate. [root@bigboy tmp]# mii-tool SIOCGMIIPHY on 'eth0' failed: Operation not supported eth1: 100 Mbit, half duplex, link ok [root@bigboy tmp]# By using the verbose mode -v switch you can get much more information. In this case, negotiation was OK, with the NIC selecting 100Mbps, full duplex mode (FD): [root@bigboy tmp]# mii-tool -v eth1: negotiated 100baseTx-FD, link ok product info: vendor 00:10:18, model 33 rev 2 basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control [root@bigboy tmp]# Setting Your NIC's Speed Parameters with mii-tool You can set your NIC to force itself to a particular speed and duplex by using the -F switch with any of the following options: 100baseTx-FD, 100baseTx-HD, 10baseT-FD, or 10baseT-HD. Remember that you could lose all network connectivity to your server if you force your NIC to a particular speed/duplex that doesn't match that of your switch: [root@bigboy tmp]# mii-tool -F 100baseTx-FD eth0 Unfortunately there is no way to set this on reboot permanently except by placing it the command in the /etc/rc.local file to let it be run at the very end of the booting process or by creating your own startup script if you need it set earlier. Creating your own startup scripts is covered in Chapter 7, "The Linux Boot Process". Using ethtool The ethtool command is slated to be the replacement for mii-tool in the near future and tends to be supported by newer NIC cards. The command provides the status of the interface you provide as its argument. Here we see interface eth0 not doing autonegotiation and set to a speed of 100 Mbps, full duplex. A list of supported modes is also provided at the top of the output. [root@bigboy tmp]# ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised auto-negotiation: No Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 1 Transceiver: internal Auto-negotiation: off Supports Wake-on: g Wake-on: g Current message level: 0x00000007 (7) Link detected: yes [root@bigboy tmp]# Setting Your NIC's Speed Parameters with ethtool Unlike mii-tool, ethtool settings can be permanently set as part of the interface's configuration script with the ETHTOOL_OPTS variable. In our next example, the settings will be set to 100 Mbps, full duplex with no chance for auto-negotiation on the next reboot: # # File: /etc/sysconfig/network-scripts/ifcfg-eth0 # DEVICE=eth0 IPADDR=192.168.1.100 NETMASK=255.255.255.0 BOOTPROTO=static ONBOOT=yes ETHTOOL_OPTS="speed 100 duplex full autoneg off" You can test the application of these parameters by shutting down the interface and activating it again with the ifup and ifdown commands. These settings can also be changed from the command line using the -s switch followed by the interface name and its desired configuration parameters. [root@bigboy tmp]# ethtool -s eth1 speed 100 duplex full autoneg off [root@bigboy tmp]# The Linux man pages give more details on other ethtool options, but you can get a quick guide by just entering the ethtool command alone, which provides a quicker summary. [root@bigboy tmp]# ethtool ... ... ethtool -s DEVNAME \ [ speed 10|100|1000 ] \ [ duplex half|full ] \ [ port tp|aui|bnc|mii|fibre ] \ ... ... [root@bigboy tmp]# Suu tap |
|
|