* Internet Wide area networks (Internet most common). Composed of individuals lans of diverse technology. Requiring a common platform independent protocols for various activity. Terminal connection (telnet). File transfer (ftp). Remote document viewing (WWW) Etc. Also helpful - common symbolic labeling of "sites" to contact. * TCP/IP - a protocol independent of the LAN technology. Current standard coming out of Unix systems. Alternative protocols such as Novell's SPX/IPX lost favor. TCP - Transmission Control Protocol: establishes a virtual connection between source and destination applications on the "internet". To transfer of a complete file between your pc and mp.cs.niu.edu, the file is broken standard size packets, addressed and numberd. TCP is responsible for breaking up and reassembling the file. IP - Internet protocol: specifies the configuration of individual packets of data and successful delivery of such between hops of the "internet". IP makes sure each packet generated by TCP is moved along the "internet" without corruption. * TCP/IP addressing. A node is given a numeric address (IP #) 4 Octet value (8 bit or 0-255) x.y.z.q The IP number has no relation to the MAC address of the node's hardware or even the type of hardware (token, ethernet, etc). Class A - 1st octet - network, other 3 - 16M units at site. 0xxxxxxxb, 1-126 - all are in use. Network can be subdivided and sparse. IBM Currrenly all assigned. Class B - 1st 2 octets (14 bit) - network, other 2 - units (65 thousand) 10xxxxxxb, 128-191: Ex. NIU 131.156.x.y Occasionally come back into circulation. Class C - 1st 3 octets - network, last - units (254) 110xxxxxb, 192-233 Small companies (may have more than one address). xx.xx.xx.000 and xx.xx.xx.255 are reserved. 0111111b - 127 - loopback, used internally on each node. Class D - special broadcast. 1110b Class E - Future use and testing. 11110b * Subnets A particular class address can be further subdivided by using a subnet mask by the owner of the address. NIU has a class B address and it's subnet mask is 255.255.255.00 - this allows us to have up to 256 separate local networks of 253 machines. Subnet division is the choice of addresses' owner. For class B, a mask of 255.255.255.128 would provide for 512 subnets of 128 machines. Each IP node has up to 32 thousand ports. Allows multiple connections and actions for a single node. In general, ports <= 1024 are reserved for predefined or system level connections. Ports > 1024 are used for the client side of a tcp connection between a user and service being accessed. User telneting to mp. * Internet Packets (conceptual) Packet consists of source & destination address, data, & control. Data - information being transferred. Address Internet address. Port id - Specific task Most systems can do a variety of communication tasks. FTP, Telnet, Web services, etc. & more than 1 session. 1st 1024 port ids reserve for system functions. Web server, FTP server. Client - rest of 32K possible @ - unique for each session. Control - sequence information and error checking. Internet packet encapsulated in the network packet. * Some standard ports ftp-data 20 /tcp ftp 21 /tcp ssh 22 /tcp secure terminal telnet 23 /tcp terminal smtp 25 /tcp mail name 42 /udp nameserver domain 53 /udp domain 53 /tcp bootps 67 /udp # BOOTP/DHCP server bootpc 68 /udp # BOOTP/DHCP client * Communication sequence Application prepares data for communication Uses destination site's name to request its IP from a name server. The name server is part of a hierachical tree of servers that eventually can find any name's ip equivalent. It prepends Destination ip and port of service to contact. Source ip (machine running the application) Random port > 1024 gotten from network support software. If data larger than one packet, parses the data into sequenced packets Adds sequence id to packet Adds data to packet and sends. More advanced forms (TCP) require acknowledgment. At this point, the network card Adds additional data that makes is transportable at the lan level Possibly breaks the packet up into packets appropriate to lan. Converts data to electronic/optical pulses appropriate to lan. If destination on same lan, process reversed. If destination elsewhere, a special machine will further manipulate the packets into a form appropriate to the next hop on the "internet". * Interfaces Bridges - Unites two or more sub-nets of a lan. Point to point connections. Aware of all devices on network (usually via mac id) and makes them part of 1 logical newtwork. List of devices small < 20. Can connect ethernet systems where 1 subnet is twisted pair and the other is wireless or coax. (Same protocol but disimilar physically) Sometimes used to connect two sub-nets via p to p over a distance using a dis-similar technology. Attempts to optimize traffic by not passing packets that will not be processed on other sub-net. * Interfaces Gateway - software/hardware access between two networks. Connects systems of dis-similar architectures. Uses logical protocol to identify packet destinations such as tcp/ip Performs protocol changes between networks. The gateway machine/card has a unique id public to local network. * Interfaces Router - Connects lans or other networks together & translates protocols. Multiple input/outputs. Acts as a switching station. Repackages data into appropriate sized units. Often includes Gateway logic/hardware. Keeps a list of other contactable routers, list > 10,000. Brouters - a combination of both a bridge and a small local router. Scope of any address lists in the 10's. Often used to create an artifical local Internet. DHCP/bootp/rarp - converts a mac address to an IP address. ARP - address resolution protocol - converts an IP to mac address. * Names Currently controlled by ICANN and IANA - www.iana.org ICANN - Internet Corporation for Assigned Names and Numbers. IANA - Internet Assigned Numbers Association - assigns port # to functions. ftp, telnet, etc. Under that umbrella - certain catagories are handled by non-profit or commercial registries. Originally - ARPANET (DARPA) and names controlled by U.S. government. COM - Commercial. GOV - U.S. and state civilian government. MIL - U.S. military. ORG - non-profit organizations. NET - non-profit & usually network related. EDU - education - 4 year accredited. ARPA - special top level id for the actual internet structure. 2 letter - Nations Psuedo-official - countries who licenses their domains for commercial use. .to - Tonga as in go.to .tv - Tuvalu INT - international organization. * New Names (2001?) .aero - air-transport industry .biz - Business .coop - cooperatives .info - unrestricted use .museum - museums .name - for individuals. .pro - accountants, lawyers, and physicians. * Naming protocol. Names often start with type of protocol www.cs.niu.edu (web), ftp.cdrom.com (ftp site), etc. Although a good idea, this is not a requirement. Names can be any length (?) - www.completelyfreesoftware.com. Names must be at least 2 units long but can be more than 3 - www.cs.niu.edu. There is no relation between name and ip other than a name must resolve to a single ip. At the top level, the DNS systems are somewhat isolated. .com handled by one system, .edu by another, etc. At this level, ownership of each system by individual organizations. .com - Network Solutions - who may contract out name assignments but must control the master list for .com. * DNS - Domain Name server - converts symbolic name to ip number. Usually one DNS on a network or known by IP to each network. The DNS service is structured as a hierarchical tree with the local DNS at the lowest or leaf level. When user uses a name, the local DNS is contacted to see if name is local. If local Ip returned. Else DNS checks to see it tried to find the same name recently If found, it uses that data. Else it asks another DNS that is higher up in the tree. The configuration of DNS requires that the address of higher nodes be coded. This process is repeated at each level until address is found. At higher levels, the DNS does not know all of the names under it, rather its able to make intelligent guesses which nodes can further indentify the ip for a given name.