Title: L7A/1/30
1COM347J1Networks and Data Communications
Lecture 7A Practical TCP/IP Networks
- Ian McCrum Room 5D03B
- Tel 90 366364 voice mail on 6th ring
- Email IJ.McCrum_at_Ulster.ac.uk
- Web site http//www.eej.ulst.ac.uk
This version Modified 21/11/04
2Setting up networking
- Ethernet cards e.g 3C509 from 3com, in the
(very) old days cards were sold as NE2000
compatible. Keypoints are obviously the type of
connection at the back, 10BaseT or 10Base2. But
is also nice to have flashing lights - 10Base2 needs proper T-pieces and terminators. A
simple daisy chain is used, with cables at least
2 metres long. My stack of PCs made for cramped
cabling so I have now swopped for twisted pair
(10BaseT). - 10BaseT needs proper cables, these can be
straight ( or normal) or they can be crossover
types, PC lt-gthubs use straight but Hubs lt-gt
network sockets on the wall need crossover types.
- It is possible to link two PCs without using a
hub, but you must use a crossover cable. - The lab in week 12 is to do with making up
10BaseT leads.
3In Windows you can see how many packets pass
through your network card
4We get other information from running utilities
E.g From START-gtRUN-gtCMD (or command.com)
IPCONFIG/ALL Physical Address. . . . . . . .
. 00-03-47-B8-53-21 DHCP Enabled. . . . . . .
. . . . Yes Autoconfiguration Enabled . . . .
Yes IP Address. . . . . . . . . . . .
192.168.0.3 Subnet Mask . . . . . . . . . . .
255.255.255.0 Default Gateway . . . . . . . . .
192.168.0.1 DHCP Server . . . . . . . . . . .
192.168.0.1 DNS Servers . . . . . . . . . . .
192.168.0.1 Lease Obtained. . . . . . . . . .
21 November 2004 111230 Lease Expires . . .
. . . . . . . 22 November 2004 111230
The machine at 192.168.0.1 is a windows 98 box
running ICS internet connection sharing. It
actually passes DNS queries on to my ISP. The LAN
is not aware of anything beyond this router. It
can surf and connect using SSH or ftp. I run
zonealarm on the router and am careful not to run
servers within the LAN.
5Simple LANs
If we ignore the internet for the minute then all
we must do is link all PCs to our LAN. This is
straight forward
All must be on the same network, the network part
of their IP number
Then possibly to another LAN.
First you need to recall data about IP numbers
and netmasks
6IP Numbers
- The first half of the available range for Ipv4 is
taken up with Class A machines. 8 bits are used
for the network - The next quarter is class B, 16 bits are used for
the network. And the last quarter (roughly) is
class C where 24 bits are used for the network
portion. - An example Class-C is 193.61.142.120 with a
netmask of 255.255.255.0 This can also be
described as 193.61.142.120/24 - You are allowed to use 192.168.0.0 to
192.168.255.255 for you own use without
registering it. These special private addresses
cannot be put onto the internet. Of course what
you do in the privacy of your own home, your own
LANs is your own business - There are also class A and class C numbers
reserved for private addresses. E.g 10.0.0.0 to
10.255.255.255 and there are also a few other
funny numbers used here and there
7Setting up addresses
- If you are setting up a machine on a LAN
administered by someone else you must either. - Get the IP number and netmask as well as the IP
number of the gateway and the IP number of the
DNS server from the network administrator. He
might want to know what physical network socket
you are plugging into, or even the MAC number
burnt onto your network card (NIC). Remember Lab
2 you can use IFCONFIG /all to get that. - Or if he is using Dynamic Host Control Protocol (
DHCP) then you just tick the automatic boxes
8TCP/IP on my machine
9My IP no 193.61.148.83
- What can we determine about it?
- Since it is in the range 192.0.0.0 to
223.255.255.255 - 1100-0000 0000-0000 0000-0000 0000-0000
- It must be a class C address
- Where 1st 3 bits identify that it is class C
- Next 21 bits identify network ( one of 2
millionish) - Last 8 bits host within network.
10http//www.ripe.net/index.html
11 12(No Transcript)
13 14 15- 193.61.128.00 /14
- 193.61.159.255 range for UUJ
- 1100 0000 0011 1101 1000 0000 0000 0000
193.61.128.0 - 1100 0000 0011 1101 1001 1111 1111 1111
193.61.159.255 - (159-128)256 7936 addresses
- 193.61.160.00 /14
- 193.61.175.255 range for UUC
- 1100 0000 0011 1101 1010 0000 0000 0000
193.61.160.0 - 1100 0000 0011 1101 1010 1111 1111 1111
193.61.175.255 - (175-160)256 3840 addresses
161111 1111 1111 1100 0000 0000 0000 0000
255.252.0.0 mask (aggregate entry in CIDR)
sometimes depicted as \14 since the first 14 bits
are set to 1. 1100 0000 0011 1101 1001
0100 0101 0011 193.61.148.83 1111 1111
1111 1100 0000 0000 0000 0000
255.252.0.0 1100 0000 0011 1100 0000 0000
0000 0000 193.60.0.0 its a match! The first
fourteen bits must be identical to those in red
in order that an IP address be routed in this
direction. Hence UUJ has From 1100 0000 0011
1101 1000 0000 0000 0000
193.61.128.0 To 1100 0000 0011 1101 1001
1111 1111 1111 193.61.159.255
17Getting your own IP number
Whoever connects you to the internet must look
after routing your traffic, they must give you a
number from the bank of numbers that they
adminster
They can give you one static number or a range of
static numbers, these will be related and involve
some sort of netmask, at least partially. E.g UUJ
Most home users will be given one number, usually
allocated dynamically, the number can change and
will be different every time you switch on or
reboot
My ISP charges 2 extra for a static IP number
18Setting up your own domain
- You can buy vacant domain names from e.g
Simply.com. There will be a yearly fee, about a
tenner for a .com and less for a .co.uk or .org
Ill not cover the naming schemes here look it
up. - Once you know the IP number of the machine you
are going to use you can tell the seller to give
you a redirect from his machines. Traffic for
your named machine will get your number - There are a few places that will give you a free
name, if it is within their realm. E,g I have
mccrum.homelinux.com the site www.dyndns.org owns
this (and 48 other domains). - This site also allows you to change the
destination IP number yourself, or better still
automatically. My ISP gives me an IP number for
the machine at my house, but he can change it.
There is a small program running on my router PC
that monitors this and re-registers the new
number at dyndns.org (see dyndns for details)
19Talking across LANs
- Consider that I, on 193.61.148.83 with subnet
mask 255.255.255.0, wish to talk to Mary on
193.61.149.46. - Since my subnet mask defines that all with
addresses 193.61.148.0 to 193.61.148.255 as local - this packet to 193.61.149.46 will be passed to a
router (gateway) on 193.61.148.200
20Note the route has two NICs one for each network
Router
193.61.148.00/24
193.61.149.00/24
Me
Mary
Packet
21First step forward to route and stored there
Source
Destination
My IP address 193.61.148.83
Marys IP address 193.61.149.46
IP
Routers lhs MAC address
My MAC address
MAC
22Packet in router and passed up to IP layer
Router
Packet
193.61.148.00/24
193.61.149.00/24
Me
Mary
23Second step rebuild packet and forward to Mary
Source
Destination
My IP address 193.61.148.83
Marys IP address 193.61.149.46
IP
Marys MAC address
Routers rhs MAC address
MAC
24Packet passed to Mary
25Routing tables
Network Destination Netmask
Gateway Interface 0.0.0.0
0.0.0.0 192.168.0.1 eth0
127.0.0.0 255.0.0.0 127.0.0.1
loopback 192.168.0.0 255.255.255.0
192.168.0.3 eth0 192.168.0.3
255.255.255.255 127.0.0.1 loopback1
192.168.0.255 255.255.255.255 192.168.0.3
eth0 224.0.0.0 224.0.0.0
192.168.0.3 eth0 255.255.255.255
255.255.255.255 192.168.0.3 eth0 Default
Gateway 192.168.0.1
Use the following commands to see the routing
tables In Linux route n is useful in windows
try ROUTE PRINT
26In the Linux world
- Many routers, including the wireless ones that
combine hubs and/or ADSL modems or interfaces for
modems use linux as an embedded OS. You can
access these, either by pointing a browser at the
machine, possibly/typically using an unusual port
number (not 80!) or by using Telnet or the more
secure version SSH. - Windows users must download a SSH client (e.g
PUTTY) but telnet and a web browser are already. - It is easy to configure an old PC as a router,
either with two ethernet cards or more usually,
one ethernet card and one ADSL modem or simple
wireless access point. - If your wireless AP has a built in hub for
10BaseT then you can use it. - The decision is whether to split your home into
two LANs or persevere to get one working. - Some knowledge of firewalls is also required
since your AP or even combined ADSL modems and
routers will offer this.
27In the Linux world, a simple router
- An basic understanding of Linux will require
reading a few hundred pagesit is almost possible
to configure linux by clicking various readymade
gui tools but at some stage you WILL have to
check and maybe edit a few text files. You will
need to have a simple terminal window open to do
this and know a few commands ls l , cd dir, cd
.., cat file, vi file (wr, q! etc) - Assuming the two ethernet card network (the rest
are similar). Know which cards you are using,
easier if different types! - When linux boots it searches for hardware and if
it finds the cards it inserts various modules of
code into its kernel, it can also get hints by
looking at the file /etc/modprobe.conf if you
examine the boot log (run dmesg) it can help - First thing to do is check that the correct
modules to drive your ethernet cards have been
inserted, use the lsmod command for this (look at
man lsmod) - Then use the ifconfig a and route n commands to
check all is ok - ping is your friend.
28Examples of linux commands (for 3C509 and 3c905B
PCI card)
- I identified the cards by (a) reading the labels
and (b) running the lspci command from a linux
terminal - modprobe eth0 3c59x I found 3c5x9.o in
/lib/modules/ I also checked the Ethernet_HOWTO
at www.tldp.org for guidance on 3Com network
cards. - I had to boot a dos floppy that contained
3C5x9cfg.exe to set the cards transceiver type to
10BaseT and enable plug and play. Further docs
are found in /use/src/linux - ifconfig eth0 192.168.0.1
- ifconfig eth1 192.168.111.1
- route add net 192.168.0.0 netmask
255.255.255.0 eth0 - route add net 192.168.111.0 netmask
255.255.255.0 eth1 - route add default gw 192.168.111.200
router passes rest to ADSL modem - Few other miscellaneous things to do, enable
forwarding in the kernel. This involves either
recompiling or writing a 1 to a file in /proc
I.e echo 1 gt
/proc/sys/net/ipv4/ip_forward - Also to make changes permanent you need to either
invoke the commands above on powerup (in one of
the rc scripts) or use your linux distribution
configuration files, e.g /etc/sysconfig/network
29Summary what you should know
- A lot of the preceding detail is only for your
interest. - Know about IP numbers, what range each class
takes - Know that there are private IP addresses that are
not routed, at least on the public internet - Realise that one LAN can be linked to another
through a router that has two NICs - Realise that each LANs IP network addresses must
be different to allow routing. - Realise that routing tables must have routes
for each destination address, LAN1, LAN2 and the
rest of the word. You do NOT need to know the
details
30Final version
Router, with USB modem Also does IP Masquerading
- And when I get my wireless router it is going to
get worse! - Thank goodness for linux!
- A good overview of Pat Sweeneys cable modem
setup is contained in lecture COM347J1_L7B